音视频封装格式、编码格式知识




  常见的AVIRMVBMKVASFWMVMP43GPFLV等文件其实只能算是一种封装标准。

一个完整的视频文件是由音频和视频2部分组成的。H264Xvid等就是视频编码格式,MP3AAC等就是音频编码格式。

例如:将一个Xvid视频编码文件和一个MP3音频编码文件按AVI封装标准封装以后,就得到一个AVI后缀的视频文件,这个就是我们常见的AVI视频文件了。


       由于很多种视频编码文件、音频编码文件都符合AVI封装要求,则意味着即使是AVI后缀,也可能里面的具体编码格式不同。因此出现在一些设备上,同是AVI后缀文件,一些能正常播放,还有一些就无法播放。


       同样的情况也存在于其他容器格式。即使RMVB、WMV等也不例外。部分技术先进的容器还可以同时封装多个视频、音频编码文件,甚至同时封装进字幕,如MKV封装格式。MKV文件可以做到一个文件包括多语种发音、多语种字幕,适合不同人的需要。


       例如:MKV文件只要制作的时候同时加入国语和粤语发音的音轨和对应的简体、繁体字幕,播放的时候,你可以独立选择国语或粤语发音,并根据自己需要选择简体或繁体字幕,也可以选择不显示字幕。相当方便。


       因此,视频转换需要设置的本质就是:A设置需要的视频编码、B设置需要的音频编码、C选择需要的容器封装。一个完整的视频转换设置都至少包括了上面3个步骤。


常用的有XvidH264MPEG1MPEG2

  Xvid:与RMVB格式差不多的压缩率,通用性很强,特别是用于家用DVD和便携式MP4等设备。

  H264:压缩率最高的视频压缩格式,与其他编码格式相比,同等画面质量,文件体积最小,远远超过RMVB编码格式,电脑都可以播放,部分便携式视频设备也支持,如苹果播放器。PDA/PPC等设备也可以使用

  MPEG1:其实就是VCD编码格式。

  MPEG2DVD编码格式。比MPEG1强,与MPEG1一样,已经落后的编码格式,压缩率都不高,编码后的文件体积大,多用于希望把网上下载的文件转换为VCD或DVD碟的时候。

 

常见的组合方式:

封装容器  视频流编码格式 音频流编码格式

AVI :  Xvid    MP3

AVI :  Divx    MP3

Matroska(后缀就是MKV): Xvid   MP3

Matroska(后缀就是MKV): Xvid   AAC

Matroska(后缀就是MKV): H264   AAC

MP4  :  Xvid  MP3

MP4 :   H264  AAC

3GP  :  H.263  AAC

事实上,很多封装容器对音频编码和视频编码的组合方式放的很开,如AVI还可以使用H264+AAC组合,可以在具体使用中自己体会。尤其是MKV封装容器,基本无论什么样的组合都可以!但一MKV用的最多的就是H264+AAC组合,此组合文件体积最小,清晰度最高。因此网上很多MKV视频都是高清晰度的。

从上表格可以看出,真正设置的重点在于音频编码和视频编码,封装容器多数时候只是关系到最后的文件后缀而已,起码初学者可以就这么理解。

 

音视频编码格式汇总

一、音频编解码格式 
*MPEG Audio Layer 1/2 
*MPEG Audio Layer 3(MP3) 
*MPEG2 AAC 
*MPEG4 AAC 

*Windows Media audeo v1/v2/7/8/9 
*RealAudio cook/sipro(real media series) 
*RealAudio AAC/AACPlus(real media series) 
*QDesign Music 2(apple series) 
是QDesign 公司开发的用于高保真高压缩率的编码方式,类似于MP3,不过比MP3要先进。支持流式播放.
*Apple MPEG-4 AAC(apple series) 
*ogg(ogg vorbis音频) 
*AC3(DVD 专用音频编码) 
*DTS(DVD 专用音频编码) 
*APE(monkey’s 音频) 
*AU(sun 格式) 
*FLAC(fress lossless 音频) 
*M4A(mpeg-4音频)(苹果改用的名字,可以改成.mp4) 
*MP2(mpeg audio layer2音频) 
*WMA 
二、视频编解码格式 
*MPEG1(VCD) 
*MPEG2(DVD) 
*MPEG4(divx,xvid)
*MPEG4 AVC/h.264 
*h.261 
*h.262 
*h.263 
*h.263+ 
*h.263++ 
*MPEG-4 v1/v2/v3(微软windows media系列) 
*Windows Media Video 7/8/9/10 
*Sorenson Video 3(用于QT5,成标准了)(appleseries) 
*RealVideo G2(real media series) 
*RealVideo 8/9/10(real media series) 
*Apple MPEG-4(apple series) 
*Apple H.264(apple series) 
*flash video


三、音视频文件格式 
  首先要分清楚媒体文件和编码的区别文件是既包括视频又包括音频、甚至还带有脚本的一个集合,也可以叫容器;文件当中的视频和音频的压缩算法才是具体的编码。 
*AVI :音视频交互存储,最常见的音频视频容器。支持的视频音频编码也是最多的


*MPG :MPEG编码采用的音频视频容器,具有流的特性。里面又分为 PS,TS 等,PS 主要用于 DVD 存储,TS 主要用于 HDTV。


*VOB :DVD采用的音频视频容器格式(即视频MPEG-2,音频用AC3或者DTS),支持多视频多音轨多字幕章节等。


*MP4 :MPEG-4编码采用的音频视频容器,基于 QuickTime MOV 开发,具有许多先进特性。


*3GP : 3GPP视频采用的格式,主要用于流媒体传送。


*ASF :Windows Media采用的音频视频容器,能够用于流传送,还能包容脚本等。


*RM : RealMedia 采用的音频视频容器,用于流传送。 
*MOV : QuickTime 的音频视频容器,恐怕也是现今最强大的容器,甚至支持虚拟现实技术,Java 等,它的变种 MP4,3GP都没有这么厉害。 
*MKV :MKV 它能把 Windows Media Video,RealVideo,MPEG-4 等视频音频融为一个文件,而且支持多音轨,支持章节字幕等。


*WAV :一种音频容器(注意:只是音频),大家常说的 WAV 就是没有压缩的 PCM 编码,其实 WAV 里面还可以包括 MP3 等其他ACM 压缩编码。


四、以文件名标识识别音频编码格式 
*.aac 
音频编码:aac 
*.ac3 
音频编码:ac3 
*.ape 
*.au 
音频编码:pcm_s16be 
*.m4a 
音频编码:mpeg4 aac 
*.mp2 
*.mp3 
*.ogg 
音频编码:vorbis 
*.wav 
音频编码:pcm_s16le 
*.flav 
*.wma 
音频编码:wma7x


五、以文件名标识识别音视频编码格式 
1.*.MP4 (MP4 MPEG-4视频) 
视频编码:mpeg4 
音频编码:mpeg4 aac 

2.*.3gp (3GPP 第三代合作项目)
视频编码:mpeg4 
音频编码:amr_nb((mono, 8000 Hz, Sample Depth 16 bit,bitrate 12 kbps) 
3.*.3g2 (3GPP 第三代合作项目2) 
视频编码:mpeg4 
音频编码:mpeg4 aac 
4.*.asf (ASF 高级流格式) 
视频编码:msmpeg4 
音频编码:mp3 
5.*.avi(AVI 音视频交错格式) 
视频编码:mpeg4 
音频编码:pcm_s161e 
6.*.avi (divx 影片) 
视频编码:mpeg4 
音频编码:mp3 
7.*.avi(xvid 视频) 
视频编码:Xvid 
音频编码:mp3 
8.*.vob (DVD) 
视频编码:mpeg2 video 
音频编码:ac3 
9.*.flv (flash 视频格式) 
视频编码: 
音频编码:mp3 
10.*.mp4(iPod 320*240 MPEG-4 视频格式) 
视频编码:mpeg4 
音频编码:mpeg4 aac 
11.*.mp4(iPod video2 640*480 MPEG-4 视频格式) 
视频编码:mpeg4 
音频编码:mpeg4 aac 
12.*.mov (MOV 苹果quicktime 格式) 
视频编码:mpeg4_qt 
音频编码:mpeg4 aac_qt 
13.*.mpg (mpeg1影片) 
视频编码:mpeg1 video 
音频编码:mp2 
14.*.mpg (mpeg2 影片) 
视频编码:mpeg2 video 
音频编码:mp2 
15.*.mp4(mpeg4 avc 视频格式) 
视频编码:h.264 
音频编码:mpeg4 aac 
16.*.mp4 (PSP mpeg4 影片) 
视频编码:Xvid 
音频编码:mpeg4 aac 
17.*.mp4 (PSP AVC 视频格式) 
视频编码:h.264 
音频编码:mpeg4 aac 
18.*.rm (RM realvideo) 
视频编码:rv10 
音频编码:ac3 
19.*.mpg (超级VCD) 
视频编码:mpeg2 video 
音频编码:mp2 
20.*.swf (SWF 格式) 
视频编码: 
音频编码:mp3 
21.*.mpg (video CD 格式) 
视频编码:mpeg1 video 
音频编码:mp2 
22.*.vob (mpeg2 ps格式) 
视频编码:mpeg2 video 
音频编码:ac3 
23.*.wmv(windows 视频格式) 
视频编码:wmv3x 
音频编码:wma7x

几种常见的转换格式设置

适合家用DVD播放的媒体文件(此DVD需要支持MP4文件播放功能)

代表含义 设置值

设置音频流编码格式 LAME MP3

设置音频流采样率 44100Hz

设置音频流取样声道 默认即可

设置音频流编码具体方式 ABR

设置音频流转换后的声道 Auto

设置音频流转换码率 96 kbps或128kbps

设置视频流具体编码方式 Bitrate-based

设置视频流转换码率 400 kbps或500 kbps

设置视频编码格式 Xvid

设置封装容器 AVI

设置转换后的文件的分辨率 400x-3

设置转换后的文件的帧率 24

适合支持大部分PDA、智能手机播放的媒体文件,低速CPU机型适用(CPU速度低于400MHz的)

此设置方式一般也适合大多数MP4播放设备。PDA、智能手机需要安装TCPMP才可以更好的支持AVI和MKV格式

代表含义 设置值

设置音频流编码格式 LAME MP3

设置音频流采样率 44100Hz

设置音频流取样声道 默认即可

设置音频流编码具体方式 ABR

设置音频流转换后的声道 Auto

设置音频流转换码率 96 kbps

设置视频流具体编码方式 Bitrate-based

设置视频流转换码率 320 kbps

设置视频编码格式 Xvid

设置封装容器 AVI

设置转换后的文件的分辨率 320x-3

设置转换后的文件的帧率 24

适合支持大部分PDA、智能手机播放的媒体文件,高速CPU适用(CPU速度大于或等于400MHz的)

 代表含义 设置值

设置音频流编码格式 CT AAC+

设置音频流采样率 44100Hz

设置音频流取样声道 默认即可

设置音频流编码具体方式 aacplus

设置音频流转换后的声道 Stereo

设置音频流转换码率 32 kbps

设置视频流具体编码方式 Bitrate-based

设置视频流转换码率 200 kbps

设置视频编码格式 H264

设置封装容器 Matroska

设置转换后的文件的分辨率 320x-3

设置转换后的文件的帧率 24

 

适合保存VCD至硬盘的转换设置

设置位置 代表含义 设置值

设置音频流编码格式 CT AAC+

设置音频流采样率 44100Hz

设置音频流取样声道 默认即可

设置音频流编码具体方式 aacplus

设置音频流转换后的声道 Stereo

设置音频流转换码率 48 kbps

设置视频流具体编码方式 Quality-based

设置视频流转换码率 95

设置视频编码格式 H264

设置封装容器 Matroska

设置转换后的文件的分辨率 352x-3

设置转换后的文件的帧率 24

 

适合保存DVD至硬盘的转换设置

 代表含义 设置值

设置音频流编码格式 CT AAC+

设置音频流采样率 44100Hz

设置音频流取样声道 默认即可

设置音频流编码具体方式 aacplus

设置音频流转换后的声道 Stereo

设置音频流转换码率 64 kbps

设置视频流具体编码方式 Bitrate-based

设置视频流转换码率 500 kbps或600 kbps

设置视频编码格式 H264

设置封装容器 Matroska

设置转换后的文件的分辨率 640x-3

设置转换后的文件的帧率 24








链接:http://lib.csdn.net/article/liveplay/44967






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很高兴能帮到你!学习音视频开发的路径主要可以分为以下几个步骤:1、加深对基础知识的理解,比如计算机图形学、计算机视觉、数字图像处理、信号处理等;2、掌握音视频编码技术,包括视频编码格式、视频编码技术、音频编码技术等;3、学习音视频开发的常用技术,比如视频分析、视频网络传输、视频编辑、音频分析、音频编辑等;4、学习音视频开发的常用工具,比如FFmpeg、GStreamer、编解码器等;5、学习音视频开发的应用,包括视频监控、视频会议、视频编辑等。 ### 回答2: 音视频开发是一门广阔的学科,涵盖了音频和视频的采集、处理、编码、传输和播放等方面。如果你想学习音视频开发,可以从以下几个方面入手: 1. 基础知识学习:首先要了解计算机图像和音频的基础知识,包括色彩空间、分辨率、帧率、采样率、编码格式等概念。同时还需要学习相关的数学知识,如数字信号处理、图像处理和声音处理等。 2. 学习编程:音视频开发需要掌握编程技术,建议学习C++语言,因为它在音视频领域应用广泛。学习C++的基本语法和面向对象编程思想,熟悉常用的音视频开发库和工具,如FFmpeg、GStreamer等。 3. 学习音视频编码:音视频编码是音视频开发的核心内容之一。学习各种常见的音视频编码算法和标准,如H.264、MPEG-2、AAC等。了解编码的原理和流程,熟悉压缩、解压缩、封装和解封装等相关技术。 4. 学习音视频采集和处理:学习音频和视频的采集、处理和编辑技术,掌握音频信号的采集和处理、视频图像的采集和特效处理、音视频的同步和合成等技术。可以尝试使用开发工具和库来实现简单的音视频应用,如录制、剪辑、转码等。 5. 学习音视频传输和网络技术:掌握音视频的传输技术和网络协议,如RTP/RTCP、HTTP、RTMP等。了解音视频传输的原理和流程,学习网络编程的基础知识和技术,如套接字编程、UDP/TCP传输等。 6. 实践和项目开发:通过参与实际项目,积累实践经验和解决问题的能力。可以参加一些开源项目或自己设计、实现一些小的音视频应用程序,如音频播放器、视频会议应用等。 总之,学习音视频开发需要系统地学习相关的基础知识和技术,同时通过实践不断提升自己的能力。不断探索和学习新的技术和方法,关注行业的最新动态和发展趋势,才能在音视频开发领域有所建树。 ### 回答3: 音视频开发学习路径通常可以按照以下步骤进行: 1. 学习基础知识:首先了解音视频基础理论和相关概念。包括音频处理、视频编解码、媒体传输等基本原理。可以通过阅读相关书籍、教程或参加在线课程来获取这些基础知识。 2. 编程技能:具备一定的编程基础是进行音视频开发的前提。熟悉至少一门编程语言,如C++、Java或Python等,并掌握相关的编程技巧和常用的开发工具。 3. 学习音视频编解码:了解常用的音视频编解码标准,如AAC、MP3、H.264、VP9等。学习如何使用编解码库进行音视频格式转换、压缩和解压缩等工作。可以参考FFmpeg等开源库进行学习。 4. 掌握音视频处理技术:学习音视频处理的算法和技术,如音频降噪、音频增强、视频滤镜、视频特效等。可以通过学习相关的数字信号处理算法、图像处理算法以及计算机视觉技术等来推进。 5. 学习媒体传输和流媒体技术:了解常用的媒体传输协议,如RTP、RTSP、HTTP等。学习流媒体技术,如HTTP Live Streaming(HLS)、Dynamic Adaptive Streaming over HTTP(DASH)等。这些知识将有助于你理解和实现音视频流的传输和播放。 6. 实践项目:利用你学到的知识,尝试实践一些音视频开发项目。可以开发音视频播放器,录音录像应用,视频会议应用等。通过实践项目,可以更好地理解和巩固所学的知识,并培养实际应用能力。 总之,音视频开发是一个庞大的领域,需要掌握多方面的知识。通过系统学习和实践,逐步提升自己的技能和水平,在实际应用中获得更多的经验和成长。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值