专栏首页EasyNVR音视频流媒体常见视频文件的编码方式和封装格式介绍汇总

音视频流媒体常见视频文件的编码方式和封装格式介绍汇总

常见的AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV等文件其实只能算是一种封装标准。

一个完整的视频文件是由音频和视频2部分组成的。H264、Xvid等就是视频编码格式,MP3、AAC等就是音频编码格式。

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

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

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

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

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

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

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

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

MPEG2:DVD编码格式。比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视频都是高清晰度的。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 视频互联网直播/点播流媒体服务器RTMP协议分析及推流过程

    RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议。RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中...

    EasyNVR
  • 流媒体服务器前端展示框架vue封装api接口流程介绍

    今天我打算跟大家聊一下API封装,像我们使用VUE来进行流媒体服务器的展示框架的时候,几乎都会把API封装一下,不要小瞧了这个封装的步骤,有可能在后期为我们带来...

    EasyNVR
  • 视频流媒体服务器播放视频或直播为什么要使用编解码?

    近期我在我们的开发者群里,经常会看到开发者们对流媒体编码不了解,问了很多问题。(编解码)今天也是有开发者问我:为什么要通过编解码才能播放视频?我刚好想到这么一个...

    EasyNVR
  • [账号共享]分享一波免费企业QQ账号

    Youngxj
  • 前端开发的发展前景怎么样?

    手动,画的比较丑啊,前端开发这个活儿只是程序员中的一小部分,它做的工作就是让用户可以用鼠标在网页上各种点点点,然后实现一些相应的功能,上档次一点的说法就是人机交...

    web前端教室
  • HTTP协议之状态码详解

    HTTP状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码就可以了。 ...

    Java学习123
  • 远程采集服务器指标信息(一) 远程通过SSH执行命令

    一笠风雨任生平
  • 我赌你工作中必用的vim操作快捷键

    h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向...

    JavaEdge
  • mysql修改数据库表和表中的字段的编码格式的修改

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚
  • cookie和session

    用户2146856

扫码关注云+社区

领取腾讯云代金券