音视频播放器原理、流媒体协议、封装格式、视频编码、音频编码( 二 )


音视频播放器原理、流媒体协议、封装格式、视频编码、音频编码

文章插图
 
4.1 主流编码标准
H.264仅仅是一个编码标准,而不是一个具体的编码器,H.264只是给编码器的实现提供参照用的 。
基于H.264标准的编码器还是很多的,究竟孰优孰劣?
在学习视频编码的时候,可能会用到各种编码器(实际上就是一个exe文件),
实际中使用最多的就是x264了,性能强悍(超过了很多商业编码器),而且开源 。
其基本教程网上极多,不再赘述 。
编码时候可参考:《x264编码指南——码率控制》
编码后统计值的含义:《X264 输出的统计值的含义(X264 Stats Output)》
google推出的VP8属于和H.264同一时代的标准 。
总体而言,VP8比H.264要稍微差一点 。
有一篇写的很好的VP8的介绍文章:《深入了解 VP8》
除了在技术领域,VP8和H.264在专利等方面也是打的不可开交,可参考文章:《WebM(VP8) vs H.264》
此外,我国还推出了自己的国产标准AVS,性能也不错,但目前比H.264还是要稍微逊色一点 。
不过感觉我国在视频编解码领域还算比较先进的,可参考:《视频编码国家标准AVS与H.264的比较(节选)》
近期又推出了AVS新一代的版本AVS+,具体的性能测试还没看过 。不过据说AVS+得到了国家政策上非常强力的支持 。
4.2 下一代编码标准
下一代的编解码标准就要数HEVC和VP9了 。
VP9是Google继VP8之后推出的新一代标准 。VP9和HEVC相比,要稍微逊色一些 。
它们的对比可参考:(1)《HEVC与VP9编码效率对比?》 (2)《HEVC,VP9,x264性能对比》
HEVC在未来拥有很多大的优势,可参考:《HEVC将会取代H.264的原因》
学习HEVC最标准的源代码,就是其官方标准HM了 。
其速度比H.264的官方标准代码又慢了一大截,使用可参考:《HEVC学习—— HM的使用》
未来实际使用的HEVC开源编码器很有可能是x265,目前该项目还处于发展阶段,可参考:
《x265(HEVC编码器,基于x264)介绍》
x265的使用可以参考:《HEVC(H.265)标准的编码器(x265,DivX265)试用》
主流以及下一代编码标准之间的比较可以参考文章:《视频编码方案之间的比较(HEVC,H.264,MPEG2等)》
此外,在码率一定的情况下,几种编码标准的比较可参考:《限制码率的视频编码标准比较(包括MPEG-2,H.263,MPEG-4,以及 H.264)》
结果大致是这样的:
HEVC > VP9 > H.264> VP8 > MPEG4 > H.263 > MPEG2 。
截了一些图,可以比较直观的了解各种编码标准:
HEVC码流简析:《HEVC码流简单分析》
H.264码流简析:《H.264简单码流分析》
MPEG2码流简析:《MPEG2简单码流分析》
以上简析使用的工具:《视频码流分析工具》
我自己做的小工具: 《H.264码流分析器》
 
五、音频编码音频编码的主要作用是将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量 。
音频编码也是互联网视音频技术中一个重要的技术 。
但是一般情况下音频的数据量要远小于视频的数据量,因而即使使用稍微落后的音频编码标准,而导致音频数据量有所增加,也不会对视音频的总数据量产生太大的影响 。
高效率的音频编码在同等的码率下,可以获得更高的音质 。
音频编码的简单原理可以参考:《视频压缩编码和音频压缩编码的基本原理》
主要音频编码一览:
音视频播放器原理、流媒体协议、封装格式、视频编码、音频编码

文章插图
 
由表可见,近年来并未推出全新的音频编码方案,可见音频编码技术已经基本可以满足人们的需要 。
音频编码技术近期绝大部分的改动都是在MP3的继任者——AAC的基础上完成的 。
这些编码标准之间的比较可以参考文章:《音频编码方案之间音质比较(AAC,MP3,WMA等)》
结果大致是这样的:
AAC+ > MP3PRO > AAC > RealAudio > WMA > MP3
AAC格式的介绍:《AAC格式简介》
AAC几种不同版本之间的对比:《AAC规格(LC,HE,HEv2)及性能对比》
AAC专利方面的介绍:《AAC专利介绍》
此外杜比数字的编码标准也比较流行,但是貌似比最新的AAC稍为逊色:《AC-3技术综述》
 
六、现有网络视音频平台对比现有的网络视音频服务主要包括两种方式:点播和直播 。
点播意即根据用户的需要播放相应的视频节目,这是互联网视音频服务最主要的方式 。绝大部分视频网站都提供了点播服务 。


推荐阅读