大家好,又见面了,我是你们的朋友全栈君。
音频:物理上说声音三要素音调,响度,音色,响度直观理解就是声音的大小,声音的高低(高音、低音),音色,又称音品这两个其实都跟频率有关。声音的数字化呢,其实来源于原理的,物理上人能听到声音频率的范围是20hz到20khz,数字化采集声音时一般时按44.1khz采集的,就是1s中采集44100次,然后用16比特2个字节来存,一个采样能存的层级就是-2的8次方到2的8次方-1层,总的就是65536层,一般一个音频的裸数据格式是pcm(脉冲编码调制),p量化格式,s采样率,m声道数,按一个双声道的音频,1s内占用的大小就是44100x16x2=1378.125kbps,kbps又称比特率,就是1s内比特数目的大小,那么双声道1分钟的大小就是1378.125×60/8/1024=10.98mb,注意除8是因为8个比特为1个字节。音频的压缩原理呢,因为我们采集频率是44.1khz,而我们能听到的只有20hz-20khz,压缩就可以简单的理解为去除掉在我们听觉之外的那部分,其实这是无损压缩,还有有损的压缩。有了这些我们就可以编码了,声音的编码有很多比如WAV,MP3,AAC,LC-AAC,HE-AAC,HE-AAC v2,Ogg等。
视频:同样来自中学物理,我们知道光学的三原色是红®,绿(G)蓝(B)构成,而手机呢是由一个个像素点构成,一个像素点能产生这三种光,一个像素也是由这三个构成,以RGBA_8888格式的图举例表视一个像素的R(红,8个比特)G(绿,8个比特)B(蓝,8个比特)A(透明度,8个比特),8个比特取值范围是0-255,比如一个手机屏幕是1080×1920,对应一个1080x1920RGBA图的话就是1080x1920x8x4/8=8.294400MB同样除以8是因为8个比特为1个字节。这只是一种编码,编码还有RGB_565,RGBA_4444等,这就是图,视频就是一张张图片构成。但传输种这样的图太大了,需要压缩,视频压缩有时间压缩,空间压缩,空间压缩简单理解就是把一张图按像素点比例的缩小,时间压缩简单理解就是上一张还有一部分其实是不动的下一张图还可以继续用,比如你拍视频人在动,山没动,下一张就可以保留山,把你填上就是了,大概是这么个意思,除了这个还有种YUV格式的视频数据格式的视频,可以跟RGB转换。有了这些再谈下视频的编码,视频的编码有Mpeg1,Mpeg2,Mpeg3,Mpeg4,H.261,H.262,H.263,H.264等。
一下想吹牛,粗虐谈下原理写下文章,后续有时间再写一下我掌握的视频技术。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127197.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...