所谓视频,其实就是将一张一张的图片连续的放出来,就像放幻灯片一样,由于人眼的惰性,因此只要图片的数量足够多,就会觉得是连续的动作。 所以,只需要将一张一张的图片保存下来,这样就可以构成一个视频了。
但是,由于目前网络和存储空间的限制,直接存储图片显然不可行。举个例子:在视频聊天中,假定从摄像头采集的图片每张大小200KB,每秒钟发送大概15帧图片,这样每秒钟需要的流量就需要3M(意味着需要24M的宽带),显然这个要求太高了。
于是,就可以考虑将这些图片压缩来减少大小。并且视频基本上都是连续的两帧图像差别不是太大。因此,在记录下第一张完整的图像之后以后的每张图像都是只记录下和上一帧图像不一样的地方,直到出现了差别很大的图像,才重新记录一帧完整的图像(这个完整的图像就叫做关键帧)。这样就可以很大程度上减小空间了。
上面提到的压缩专业术语叫做视频编码,目前主流的编码格式有国际电联的H.261、H.263、H.264、H.265,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准,此外在互联网上被广泛应用的还有Real-Networks的RealVideo、微软公司的WMV以及Apple公司的QuickTime等。
PS: 主流的是两大国际组织的编码格式,一个是ISO的MPEG系列MPEG1 MPEG2 MPEG4 (MPEG4 part10/AVC/H264) MPEG7; 另一个是国际电联ITU-T的H26X系列H261 H263 H263+ H263++ H264/AVC(MPEG4 part10) H265(HEVC) H266; 再有就是有实力的大厂自己开发出来的编码格式,比如Apple的VP8 VP9, 中国自己的AVS AVS+(北大貌似在搞,之前同事也掺和过这个,不过这个标准据说还是比H264要差一些的)。上文中提到的一些说的不是视频压缩编码方式,而是指的文件封装格式,此处不能苟同。 其中的H.264/AVC编码是目前最流行的编码,是由ISO和ITU-T的图像专家组成JVT联合图像专家组开发而来,因此即称为ISO的H.264标准,又是MPEG4的第10部分AVC(advance video codec),合起来一般称为H.264/AVC
PS: 学习H264的好书籍再次推荐一下:毕厚杰老师所著
编码格式这么多,我们应该选择哪种呢? 经过查阅资料目前比较好的选择是H.264,因此,只需要了解H.264就行,我们后续的项目也是全部使用H.264。H.264的细节不是三两下能说清楚的,本文不做解释(留着以后再说),这里就介绍下H.264有哪些优势:
1.低码率(Low Bit Rate):和MPEG2和MPEG4 ASP等压缩技术相比,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG2的1/8,MPEG4的1/3。
2.高质量的图像:H.264能提供连续、流畅的高质量图像(DVD质量)。
3.容错能力强:H.264提供了解决在不稳定网络环境下容易发生的丢包等错误的必要工具。
4.网络适应性强:H.264提供了网络抽象层(Network Abstraction Layer),使得H.264的文件能容易地在不同网络上传输(例如互联网,CDMA,GPRS,WCDMA,CDMA2000等)。
5.高压缩率,H.264的压缩比达到惊人的102∶1。
H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为879MB,从88GB到879MB,H.264的压缩比达到惊人的102∶1。低码率(Low Bit Rate)对H.264的高的压缩比起到了重要的作用,和MPEG-2和MPEG-4 ASP等压缩技术相比,H.264压缩技术将大大节省用户的下载时间和数据流量收费。尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像,正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。
学习音视频技术欢迎访问 http://blog.yundiantech.com
音视频技术交流讨论欢迎加 QQ群 121376426