Skip to content

LV005-概述

一、视频封装格式简介

1. 文件格式

维基百科是这样说的:A file format is a particular way that information is encoded for storage in a computer file.

可以再看一下百度百科:文件格式是指电脑为了存储信息而使用的对信息特殊编码方式,用于识别内部存储的资料。

2. 什么是视频的封装格式?

看一眼百度喽:封装格式_百度百科

封装格式又称多媒体容器,是将已编码的视频轨、音频轨及元数据按规范打包成单一文件的技术方案。主要分为面向存储(AVI/MP4/MKV)和面向流媒体(FLV/TS/MP4)两大类,常见格式包括 AVI、FLV、MKV、MOV、MP4、TS、OGG 等。流媒体封装格式中 MP4 适配多终端但文件头过大,FLV 依赖 Flash 播放,TS 常用于 HLS 协议的分片传输。

所以呢,我们常说的视频封装格式,也就是容器,它是将已经编码压缩好的视频流、音频流以及字幕按照一定的方式放到一个文件中,方便播放软件播放。一般来说,视频文件的后缀名就是它的封装格式。

3. 和编码格式有什么关系?

前面我们已经学习过视频编码的原理,那我们可以知道,视频编码就是为了压缩视频数据而做的一种压缩算法,视频编码格式可以理解为不同压缩算法和方法的一种名称。也就是说假如现在有某个视频编码格式的文件,这个文件中是纯视频流数据。

业内有个很形象的比喻,可以很快弄清楚封装格式和编码的关系:编码格式和封装格式的关系好比 酒与酒瓶 的关系,编码格式就像酒瓶里的酒,是视频的核心内容,封装格式就像酒瓶,它只是负责把内部的视频轨、音频轨、字幕轨集成在一起。简单说,视频编码格式是视频的内核,封装格式是视频的外壳, 因此编码格式与封装格式对文件大小的影响也截然不同。

它们的关系可以简单理解为,封装格式包含了编码格式。后面学习具体的封装的时候就会有更深入的理解了。

4. 为什么要有封装格式

对于任何一部视频来说,仅有图像没有声音是不完整的。因此,在视频编码后,大家需要将音频编码与视频编码一起进行封装,以便于存储、传输和播放。

封装格式的主要作用是为多媒体编码提供一个“外壳”,将所有的视频、音频或字幕都包装到一个文件容器内。封装后,可以增加视音频的编码类型、时标、包大小、帧率以及各种私有信息。这样,观众就可以方便地播放、编辑和管理这些多媒体文件。

而不同的封装格式提供了不同的功能和特性,以满足各种使用场景的需求。某些格式更适合流式传输,而另一些格式则更适合高质量存储和编辑。封装格式的选择影响到文件的大小、兼容性、画质、音频质量以及是否支持字幕、章节等附加信息。

5. 文件封装的基本结构

  • 文件头:绝大多数情况下, 文件头为必需的, 文件头类似于协议的握手, 或是多媒体数据的格式声明。主要声明的封装格式, 视频编码、音频编码、以及一些基本不变的参数、如宽高、帧率等。

  • 文件数据:必需的, 根据不同的封装格式, 码流数据(压缩的/未压缩的)以一定的结构, 或连续或分散地存放在文件中。

  • 索引表:可选的, 也是很有用的。最常见的用途是关键帧定位,也可以用于数据帧位置,这样的表相对来说会大一些。

二、MPEG

这一部分,我们来了解一下 MPEG。

1. MPEG 是什么?

可以看这里:Who we are | MPEG

MPEG(Moving Picture Experts Group) ,运动图像专家组。它是 ISO/IEC 的一个工作组,负责制定运动图像、音频及其组合的压缩、解压缩、处理和编码表示的国际标准。

2. 一些国际标准

MPEG 国际标准包括 MPEG-1、MPEG-2、MPEG-4、MPEG-7 和 MPEG-21 等格式,其中 MPEG-2 和 MPEG-4 是最常用的。它们主要用于家用 DVD 播放器录制时的文件格式。

名称 应用 特点
MPEG-1 VCD(Video Compact Disc)、MP3 音频 定义了视频和音频的压缩标准,使得视频和音频可以在 CD 等存储介质上存储和播放。扩展名通常为“.mpg”或“.mpeg”。
MPEG-2 DVD、数字电视广播、有线电视 扩展了 MPEG-1 的标准,支持更高的分辨率和更高质量的视频和音频。定义了 Program Stream (PS) 和 Transport Stream (TS) 两种容器格式。扩展名有“.mpg”、“.mpeg”、“.m2p”和“.ts”。
MPEG-4 互联网视频、移动设备、流媒体 专注于多媒体内容的高效压缩和传输,支持多种音频和视频编码格式,如 H.264/AVC。
MPEG-7 多媒体内容的描述和检索 不是一种编码标准,而是一种多媒体内容描述接口标准,用于描述多媒体内容以支持高效检索。
MPEG-21 数字版权管理、多媒体内容的交互和分发 定义了一个多媒体框架,旨在提供一个统一的框架来处理和管理多媒体内容。

三、ISO 与 IEC

  • ISO 全称是 the International Organization for Standardization,国际标准化组织。

  • IEC 全称是 the International Electrotechnical Commission,国际电工委员会。

这是两个国际组织,流媒体是他们共同的领域,他们会在共同感兴趣的领域进行合作。所以两个组织有时候一起合作,制定一些标准。

四、常见封装格式

常见的封装格式有很多,这里我们只简单介绍一些后面常用的,例如 AVI、MP4、PS、TS 等

1. AVI

1992 年微软推出,是 Windows 平台最早的成熟视频容器。支持多编码(如 DivX、XviD),兼容性极强,但无压缩优化,文件体积庞大。不支持字幕、章节等信息,也不支持流媒体传输。主要用于早期的视频存储和编辑。

2. MP4 和 FMP4

2.1 MP4

2001 年 ISO 基于苹果 QuickTime 容器改良而来,核心目标是解决 “跨平台兼容” 难题。支持几乎所有主流编码(H.264、H.265、AV1 等),通过 “盒子嵌套” 结构(如 moov 盒子存索引、mdat 盒子存数据)实现高效流媒体传输,如今占互联网视频 70% 以上份额。

它的优点包括高兼容性、较小的文件大小和支持多音轨、字幕和元数据。常用于互联网视频流、移动设备和存储高清视频。

2.2 FMP4

FMP4 格式(Fragmented MP4)是一种视频和音频流媒体格式,是 MPEG-4 Part 12 标准的一种扩展。与传统的 MP4 格式不同,FMP4 格式将媒体文件分成若干个片段(Fragment),每个片段都是一个完整的 MP4 文件,其中包含了媒体数据、元数据和索引信息。

FMP4 格式的应用范围广泛, 包括直播、点播、视频会议等。它具有低延迟、高清晰度、高效传输等特点, 能够为用户带来更加流畅和稳定的视听体验。

4. MKV

2002 年由俄罗斯程序员发起的开源项目,核心诉求是打破 MP4 的功能限制。被誉为 “万能容器”—— 支持 16 条以上音轨、ASS 特效字幕和 FLAC 无损音频,且无版权费用,成为高清收藏爱好者的首选(B 站高清资源大多采用 MKV 封装)。

5. FLV/ F4V

2003 年 Adobe 为 Flash 插件开发,是早期网页视频的 “代名词”。FLV 仅支持旧版编码,F4V 是其升级版(支持 H.264),均依赖 Flash 播放。曾是 YouTube 2005-2015 年的主力格式,但因安全漏洞多、耗电高,2020 年被 Adobe 正式放弃,被 HTML5+MP4 组合取代。

6. MPEG-2 中的两种流

MPEG-2 标准中,有两种不同的码流可以输出到信号,一种是节目码流(PS Program Stream),一种是传输流(TS Transport Stream),如下表所示,对比了 TS 和 PS 格式:

属性TS(Transport Stream)PS(Program Stream)
定义用于实时传输音视频流的数字容器格式。用于高质量音视频存储的数字容器格式。
标准MPEG-2 Part 1MPEG-2 Part 1
主要用途实时传输、流媒体传输、多路节目传输。音视频存储(如 DVD 和蓝光光盘)。
数据包结构固定大小的 188 字节包。可变大小的数据包,通常更大。
容错能力强,适合高误码环境(如广播电视、IP 网络)。弱,适用于可靠介质(如光盘存储)。
支持的流数量支持多路音视频流和数据流,使用 PID 区分。通常只支持单路或少量流。
额外信息提供用于同步和误码检测的头部信息。包含更多详细的节目信息,便于解码。
典型应用场景数字电视广播(DVB)、IPTV、HLS、实时传输。DVD、蓝光光盘、文件存储、视频编辑软件。
设计目标传输效率与容错能力优先,适合动态网络环境。存储效率与解码便捷优先,适合高质量数据存储。
转码/封装需求传输过程中可能需要解封装为 PS,用于存储或后处理。在分发或实时预览时可能封装为 TS,用于传输。

值得注意的是 TS、PS 封装 H264/H265 的时候都会采用 Annex B 格式,

7. 3GP

3GP(3GPP 文件格式)是第三代合作伙伴项目计划(3GPP)于 1998 年为 3G 移动通信网络设计的多媒体容器格式,主要应用于 3G 手机,也兼容部分 2G 和 4G 设备。

该格式基于 MPEG-4Part 14 简化版本,采用 ISO 基本媒体文件格式结构,支持 H.263、MPEG-4 及 H.264 等视频编码标准,音频采用 AMR-NB/WB 或 AAC 编解码器。文件扩展名分为.3gp(GSM 设备)和.3g2(CDMA 设备)。

3GP 封装的数据传输时封装与 RTP 一样,存储时类似 AVI 文件, 有索引信息帮助定位帧, 索引信息可放文件头, 也可放文件尾。

参考资料:

实用指南:流媒体基础解析:音视频封装格式与传输协议 - wzzkaifa - 博客园

视频编码格式和封装格式有什么关系?相机常见的编码格式有哪些?-腾讯云开发者社区-腾讯云

什么是视频封装格式和编码格式-CSDN 博客

什么是电影封装格式?10 种常见视频格式揭秘

视频编码格式有哪些?视频封装格式有哪些?视频封装格式和编码格式的区别

音视频——封装格式原理_音视频封装-CSDN 博客

MPEG 基础和协议分析指南

MPEG2: TS、PS - BreakingY - 博客园