00 视频编码格式

00 视频编码格式

编码格式与封装格式

视频文件扩展名和视频编码是两码事,与图片不同,看扩展名是无法看出视频编码的!一个MP4文件,它的视频H264/HEVC/AV1编码都是有可能的。

编码格式

编码格式,也称为编解码器(Codec),是指将原始数据(如音频或视频)转换成数字信号的算法或程序。编码的目的是减少数据量,以便高效地存储和传输。

封装格式

封装格式,也称为容器格式,是指将编码后的数据以及可能的元数据(如视频、音频、媒体信息、字幕等)封装在一起的格式。封装格式定义了各种数据在文件中的组织方式。

区别与联系

编码格式和封装格式可以独立选择,但它们之间需要兼容。例如,一个H.264编码的视频可以被封装在MP4或MKV容器中。选择哪种编码和封装格式通常取决于所需的视频质量、压缩效率、兼容性和目标平台。

对应表

封装格式 常见支持的编码格式示例
WebM VP8, VP9
MP4 H.264, H.265, MPEG-4 (包括DivX, Xvid)
AVI MPEG-2, H.264, DivX, Xvid, AC-3
RM/RMVB RealVideo (RV), RealAudio (RA)
MOV MPEG-2, H.264, MPEG-4
TS/PS MPEG-2, H.264, MPEG-4
WMV Windows Media Video (WMV), WMA
MKV 几乎所有视频编码格式(例如H.264, H.265, VP9等)

转格式与转编码

转换格式:根据当前封装格式FA中使用的编码格式CA,查看目标格式FB是否支持当前的编码格式CA。

  • 兼容:如果支持则直接将CA内容复制过去,换一个外部组织格式FB(即目标封装格式)即可。

  • 不兼容:如果不支持,则需要将编码CA先解码成原始信息RA,再使用目标编码CB进行编码,最后再使用目标封装格式FB进行封装。

主流发展-编码格式

时间 编码格式 公司 用途 备注
1984 h.120 ITU-T 电视 最早的标准
1988 h.261 ITU-T 实时传输视频 去除掉图像高频部分
划分宏块
关键帧I帧和预测帧P帧
1991 MPEG-1 ISO/IEC VCD 参考h.261
还引入了双向预测帧B帧
帧序列
1994 MPEG-2 ISO DVD
1995 h.263 ITU-T 实时传输视频
1999 MPEG-4 ISO
2003 h.264(MPEG-4/AVC) ISO+ITU-T 使用收取专利费(软件和硬件)
2013 h.265(MPEG-4/HEVC) ISO+ITU-T 使用收取专利费更贵(软件和硬件)
2018 AV1 AOMedia(开放联盟) 免费且无专利问题!
比较新,暂时还没有很多支持

其它编码方式

编码方式 公司
RealMedia Real Networks
WMV 微软
VC-1 微软
VP9(新且免费,但是可能有专利问题) 谷歌
Theora(较老压缩率差 | 2008,但是开源免费) xiph.org基金会