|
| 1 | +## 常见音视频编码 |
| 2 | + |
| 3 | +### 1. 视频编码 |
| 4 | + |
| 5 | +视频编码的主要作用是将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量。如果视频不经过压缩编码的话,体积通常是非常大的,一部电影可能就要上百G的空间。视频编码是视音频技术中最重要的技术之一。视频码流的数据量占了视音频总数据量的绝大部分。高效率的视频编码在同等的码率下,可以获得更高的视频质量。 |
| 6 | + |
| 7 | +视频编码的简单原理可以参考:[视频压缩编码和音频压缩编码的基本原理](http://blog.csdn.net/leixiaohua1020/article/details/28114081) |
| 8 | + |
| 9 | +注:视频编码技术在整个视音频技术中应该是最复杂的技术。如果没有基础的话,可以先买一些书看一下原理,比如说《现代电视原理》《数字电视广播原理与应用》(本科的课本)中的部分章节。 |
| 10 | + |
| 11 | +主要视频编码一览 |
| 12 | + |
| 13 | +| 名称 | 推出机构 | 推出时间 | 目前使用领域 | |
| 14 | +| ----------- | -------------- | ---- | ------ | |
| 15 | +| HEVC(H.265) | MPEG/ITU-T | 2013 | 研发中 | |
| 16 | +| H.264 | MPEG/ITU-T | 2003 | 各个领域 | |
| 17 | +| MPEG4 | MPEG | 2001 | 不温不火 | |
| 18 | +| MPEG2 | MPEG | 1994 | 数字电视 | |
| 19 | +| VP9 | Google | 2013 | 研发中 | |
| 20 | +| VP8 | Google | 2008 | 不普及 | |
| 21 | +| VC-1 | Microsoft Inc. | 2006 | 微软平台 | |
| 22 | + |
| 23 | +由表可见,有两种视频编码方案是最新推出的:VP9和HEVC。目前这两种方案都处于研发阶段,还没有到达实用的程度。当前使用最多的视频编码方案就是H.264。 |
| 24 | + |
| 25 | +#### **1.1 主流编码标准** |
| 26 | + |
| 27 | +H.264仅仅是一个编码标准,而不是一个具体的编码器,H.264只是给编码器的实现提供参照用的。 |
| 28 | + |
| 29 | +基于H.264标准的编码器还是很多的,究竟孰优孰劣?可参考:[MSU出品的 H.264编码器比较(2011.5)](http://blog.csdn.net/leixiaohua1020/article/details/12373947) |
| 30 | + |
| 31 | +在学习视频编码的时候,可能会用到各种编码器(实际上就是一个exe文件),他们常用的编码命令可以参考:[各种视频编码器的命令行格式](http://blog.csdn.net/leixiaohua1020/article/details/11705495) |
| 32 | + |
| 33 | +学习H.264最标准的源代码,就是其官方标准JM了。但是要注意,JM速度非常的慢,是无法用于实际的:[H.264参考软件JM12.2RC代码详细流程](http://blog.csdn.net/leixiaohua1020/article/details/11980219) |
| 34 | + |
| 35 | +实际中使用最多的就是x264了,性能强悍(超过了很多商业编码器),而且开源。其基本教程网上极多,不再赘述。编码时候可参考:[x264编码指南——码率控制](http://blog.csdn.net/leixiaohua1020/article/details/12720135)。编码后统计值的含义:[X264输出的统计值的含义(X264 Stats Output)](http://blog.csdn.net/leixiaohua1020/article/details/11884559) |
| 36 | + |
| 37 | +Google推出的VP8属于和H.264同一时代的标准。总体而言,VP8比H.264要稍微差一点。有一篇写的很好的VP8的介绍文章:[深入了解 VP8](http://blog.csdn.net/leixiaohua1020/article/details/12760173)。除了在技术领域,VP8和H.264在专利等方面也是打的不可开交,可参考文章:[WebM(VP8) vs H.264](http://blog.csdn.net/leixiaohua1020/article/details/12720237) |
| 38 | + |
| 39 | +此外,我国还推出了自己的国产标准AVS,性能也不错,但目前比H.264还是要稍微逊色一点。不过感觉我国在视频编解码领域还算比较先进的,可参考:[视频编码国家标准AVS与H.264的比较(节选)](http://blog.csdn.net/leixiaohua1020/article/details/12851745) |
| 40 | + |
| 41 | +近期又推出了AVS新一代的版本AVS+,具体的性能测试还没看过。不过据说AVS+得到了国家政策上非常强力的支持。 |
| 42 | + |
| 43 | +#### **1.2 下一代编码标准** |
| 44 | + |
| 45 | +下一代的编解码标准就要数HEVC和VP9了。VP9是Google继VP8之后推出的新一代标准。VP9和HEVC相比,要稍微逊色一些。它们的对比可参考:(1)[HEVC与VP9编码效率对比](http://blog.csdn.net/leixiaohua1020/article/details/11713041) (2)[HEVC,VP9,x264性能对比](http://blog.csdn.net/leixiaohua1020/article/details/19014955) |
| 46 | + |
| 47 | +HEVC在未来拥有很多大的优势,可参考:[HEVC将会取代H.264的原因](http://blog.csdn.net/leixiaohua1020/article/details/11844949) |
| 48 | + |
| 49 | +学习HEVC最标准的源代码,就是其官方标准HM了。其速度比H.264的官方标准代码又慢了一大截,使用可参考:[HEVC学习—— HM的使用](http://blog.csdn.net/leixiaohua1020/article/details/12759297) |
| 50 | + |
| 51 | +未来实际使用的HEVC开源编码器很有可能是x265,目前该项目还处于发展阶段,可参考:[x265(HEVC编码器,基于x264)](http://blog.csdn.net/leixiaohua1020/article/details/13991351)[介绍](http://blog.csdn.net/leixiaohua1020/article/details/13991351)。x265的使用可以参考:[HEVC(H.265)标准的编码器(x265,DivX265)试用](http://blog.csdn.net/leixiaohua1020/article/details/18861635) |
| 52 | + |
| 53 | +主流以及下一代编码标准之间的比较可以参考文章:[视频编码方案之间的比较(HEVC,H.264,MPEG2等)](http://blog.csdn.net/leixiaohua1020/article/details/12237177) |
| 54 | + |
| 55 | +此外,在码率一定的情况下,几种编码标准的比较可参考:[限制码率的视频编码标准比较(包括MPEG-2,H.263,MPEG-4,以及 H.264)](http://blog.csdn.net/leixiaohua1020/article/details/12851975) |
| 56 | + |
| 57 | +结果大致是这样的: |
| 58 | + |
| 59 | +HEVC > VP9 > H.264> VP8 > MPEG4 > H.263 > MPEG2。 |
| 60 | + |
| 61 | +截了一些图,可以比较直观的了解各种编码标准: |
| 62 | + |
| 63 | +HEVC码流简析:[HEVC码流简单分析](http://blog.csdn.net/leixiaohua1020/article/details/11845069) |
| 64 | + |
| 65 | +H.264码流简析:[H.264简单码流分析](http://blog.csdn.net/leixiaohua1020/article/details/11845625) |
| 66 | + |
| 67 | +MPEG2码流简析:[MPEG2简单码流分析](http://blog.csdn.net/leixiaohua1020/article/details/11846185) |
| 68 | + |
| 69 | +以上简析使用的工具:[视频码流分析工具](http://blog.csdn.net/leixiaohua1020/article/details/11845435) |
| 70 | + |
| 71 | +我自己做的小工具: [H.264码流分析器](http://blog.csdn.net/leixiaohua1020/article/details/17933821) |
| 72 | + |
| 73 | +### 2. 音频编码 |
| 74 | + |
| 75 | +音频编码的主要作用是将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量。音频编码也是互联网视音频技术中一个重要的技术。但是一般情况下音频的数据量要远小于视频的数据量,因而即使使用稍微落后的音频编码标准,而导致音频数据量有所增加,也不会对视音频的总数据量产生太大的影响。高效率的音频编码在同等的码率下,可以获得更高的音质。 |
| 76 | + |
| 77 | +音频编码的简单原理可以参考:[视频压缩编码和音频压缩编码的基本原理](http://blog.csdn.net/leixiaohua1020/article/details/28114081) |
| 78 | + |
| 79 | +主要音频编码一览 |
| 80 | + |
| 81 | +| 名称 | 推出机构 | 推出时间 | 目前使用领域 | |
| 82 | +| ---- | -------------- | ---- | ------- | |
| 83 | +| AAC | MPEG | 1997 | 各个领域(新) | |
| 84 | +| AC-3 | Dolby Inc. | 1992 | 电影 | |
| 85 | +| MP3 | MPEG | 1993 | 各个领域(旧) | |
| 86 | +| WMA | Microsoft Inc. | 1999 | 微软平台 | |
| 87 | + |
| 88 | +由表可见,近年来并未推出全新的音频编码方案,可见音频编码技术已经基本可以满足人们的需要。音频编码技术近期绝大部分的改动都是在MP3的继任者——AAC的基础上完成的。 |
| 89 | + |
| 90 | +这些编码标准之间的比较可以参考文章:[音频编码方案之间音质比较(AAC,MP3,WMA等)](http://blog.csdn.net/leixiaohua1020/article/details/11730661) |
| 91 | + |
| 92 | +结果大致是这样的: |
| 93 | + |
| 94 | +AAC+ > MP3PRO > AAC> RealAudio > WMA > MP3 |
| 95 | + |
| 96 | +AAC格式的介绍:[AAC格式简介](http://blog.csdn.net/leixiaohua1020/article/details/11822537) |
| 97 | + |
| 98 | +AAC几种不同版本之间的对比:[AAC规格(LC,HE,HEv2)及性能对比](http://blog.csdn.net/leixiaohua1020/article/details/11971419) |
| 99 | + |
| 100 | +AAC专利方面的介绍:[AAC专利介绍](http://blog.csdn.net/leixiaohua1020/article/details/11854587) |
| 101 | + |
| 102 | +此外杜比数字的编码标准也比较流行,但是貌似比最新的AAC稍为逊色:[AC-3技术综述](http://blog.csdn.net/leixiaohua1020/article/details/11822737) |
| 103 | + |
| 104 | +我自己做的小工具:[ AAC格式分析器](http://blog.csdn.net/leixiaohua1020/article/details/18155549) |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | +### 参考资料: |
| 109 | + |
| 110 | +[视音频编解码技术零基础学习方法](http://blog.csdn.net/leixiaohua1020/article/details/18893769) |
0 commit comments