ISOBMFF多媒体文件协议
约 1498 字大约 5 分钟...
ISOBMFF多媒体文件协议
概述
ISOBMFF(ISO Base Media File Format)是ISO/IEC 14496-12标准的具体实现,是一种高度可扩展的容器文件格式,定义了多媒体文件的通用结构。
主要用途:
- 用于视频、音频文件的封装,支持如HEIF图像文件格式
- 是现代流媒体技术如DASH(Dynamic Adaptive Streaming over HTTP)和HLS(HTTP Live Streaming)的基础
多媒体文件规范分类
规范范围:
- 容器格式规范:定义文件结构和元数据存储
- 编码格式规范:定义如何对数据进行压缩、编码、解码(涉及图片、音频、视频、字幕等)
- 传输协议规范:定义流媒体协议
ISOBMFF文件结构
ISOBMFF文件由称为"box"的组件组成:
- ftyp box:标识文件类型
- mdat box:存储媒体数据
- trak box:组织单个媒体流
- moov box:存储元数据
ISOBMFF应用实例
文件类型 | 互联网媒体类型(MIME) | 常用扩展名 |
---|---|---|
QuickTime | video/quicktime | .mov, .movie, .qt |
HEIF | image/heif, image/heic | .heif, .heifs, .heic, .heics, .avci, .avcs, .hif |
MP4 | video/mp4, audio/mp4 | .mp4, .m4a, .m4p, .m4b, .m4r, .m4v |
3GP | video/3gpp | .3gp, .3g2 |
JPEG 2000 | image/jp2, image/jpx | .jp2, .j2k, .jpf, .jpm, .jpg2, .j2c, .jpc, .jpx, .mj2 |
Flash Video | video/x-flv | .flv, .fla, .f4v, .f4a, .f4b, .f4p |
文件结构示例
MP4文件结构:
HEIC文件结构:
容器格式规范
图片容器格式
- TIFF(Tagged Image File Format):主要用于打印相关应用
- GIF(Graphics Interchange Format):较老的格式,存储效率低,协议甚至比JPEG还早
- RIFF(Resource Interchange File Format):WebP文件的存储容器格式
- HEIF(High Efficiency Image File Format):高效压缩格式
HEIF容器格式
HEIF标准概述
HEIF基于ISO/IEC 23000-12标准,是与编解码器无关的通用图像容器格式。
参考文档: ISO/IEC 23000-12标准
HEIF设计目标
- 替代JPEG,提供更小的文件大小和更高的图像质量,尤其是在存储高分辨率图像
- 是ISOBMFF在图片领域的特化应用
- 支持存储音频、图像序列等,在HEIF中,照片、视频、音频可以封装成单一文件
HEIF特性
- 支持存储单个图像或图像序列
- 可以包含额外的媒体流,如音频和文本
- 高压缩率
HEIF文件扩展名
扩展名 | 描述 |
---|---|
.heif | HEIF容器格式的通用扩展名 |
.heifs | 标识包含多个图像的通用扩展名 |
.heic | 苹果公司使用的基于HEVC进行编码的图片 |
.heics | 苹果公司使用的基于HEVC编码的图像序列 |
.avci | 标识使用H.264/MPEG-4 AVC编码的视频 |
.avcs | 标识使用H.264/MPEG-4 AVC编码的多个图像或图像序列 |
.avif | 标识使用AV1视频编码的图像文件格式 |
图像序列(Image Sequence)
图像序列是指一系列按特定顺序排列的静态图像,这些图像通常用于创建动态效果或动画。
HEIF编码格式
HEIF支持两种主要的编码格式:
- HEIC:High Efficiency Image Codec(基于HEVC视频编码)
- AVIF:AV1 Image File Format(基于AV1视频编码)
HEIC和AVIF比较
相同点
- 都旨在提供比传统JPEG格式更高的压缩效率和图像质量
主要区别
特性 | HEIC | AVIF |
---|---|---|
编码标准 | 基于H.265/HEVC视频压缩标准 | 基于AV1视频压缩标准 |
目标 | 旨在替代JPEG | 旨在提供比HEVC更高的压缩效率 |
兼容性 | 主要被苹果设备支持,在Android和Windows设备上支持有限 | 跨平台兼容,适用于各种设备和操作系统 |
开发组织 | MPEG标准组织 | 开放媒体联盟(AOMedia) |
色彩支持 | 支持HDR和宽色域,但不支持透明度 | 支持HDR、宽色域以及透明度 |
版权许可 | 基于H.265/HEVC,可能涉及专利许可费用 | 开放标准,不受专利许可费用限制 |
图像格式特性比较
常见图像文件格式特征对比
特性 | HEIF (.heic) | JPEG/Exif | PNG | GIF (89a) | WebP | JPEG-XR / TIFF | JPEG-XR / JPX | BPG |
---|---|---|---|---|---|---|---|---|
格式和可扩展性 | ISOBMFF | TIFF | - | - | RIFF | TIFF | - | - |
有损压缩 | 是 (HEVC) | 是 (JPEG) | 否 | 否 | 是 (VP8) | 是 | 是 | 是 (HEVC) |
无损压缩 | 是 (HEVC) | 是 (TIFF Rev 6.0) | 是 (PNG) | 是 (GIF) | 是 (VP8L) | 是 | 是 | 是 (HEVC) |
可扩展至其他编码格式 | 是 | 是 | 否 | 否 | 否 | 是 | 是 | 否 |
元数据格式 | Exif, XMP, MPEG-7 | Exif | - | - | Exif, XMP | Exif, XMP | JPX, (XMP) | Exif, XMP |
可扩展至其他元数据格式 | 是 | 否 | 否 | 否 | 否 | 否 | 是(基于XML) | 是 |
其他媒体类型(音频、文本等) | 是 | Audio | 否 | 否 | 否 | 否 | 是 | 否 |
多图像特性
特性 | HEIF (.heic) | JPEG/Exif | PNG | GIF (89a) | WebP | JPEG-XR / TIFF | JPEG-XR / JPX | BPG |
---|---|---|---|---|---|---|---|---|
同一个文件中多个图像 | 是 | 否 | 否 | 是 | 是 | 否 | 是 | 是 |
图像序列/动画 | 是 | 否 | 否 | 是 | 是 | 否 | 是 | 是 |
图像编码 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 是 |
派生图像功能
特性 | HEIF (.heic) | JPEG/Exif | PNG | GIF (89a) | WebP | JPEG-XR / TIFF | JPEG-XR / JPX | BPG |
---|---|---|---|---|---|---|---|---|
多次90度旋转 | 是 | 是 | 否 | 否 | 否 | 是 | 是 | 否 |
裁剪 | 是 | 否 | 否 | 否 | 否 | 否 | 是 | 否 |
平铺/堆叠 | 是 | 否 | 否 | 否 | 是 | 否 | 是 | 否 |
可扩展至其他编辑操作 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
辅助图片信息
特性 | HEIF (.heic) | JPEG/Exif | PNG | GIF (89a) | WebP | JPEG-XR / TIFF | JPEG-XR / JPX | BPG |
---|---|---|---|---|---|---|---|---|
透明度(alpha通道) | 是 | 否 | 是 | 否 | 是 | 是 | 是 | 是 |
深度映射 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
缩略图 | 是 | 是 | 否 | 否 | 否 | 是 | 是 | 是 |