MP4、MOV 与 H.264:容器和编码不是同一层
用装配关系理解文件格式,避免根据扩展名判断视频编码、画质或兼容性。
先分清“组织数据”和“压缩数据”
容器负责把视频、音频、字幕或元数据等组织在文件中;编码描述媒体数据如何表示或压缩。MP4、WebM 是常见容器名称,H.264、HEVC、AV1 是常见视频编码名称。
教学类比:容器像有分隔的文件夹,编码像每一份材料的记录方式。这个类比帮助区分层次,但并不意味着任何容器都能随意装下任何编码组合。实际支持范围需要查容器与播放端文档。
| 层次 | 例子 | 不能据此推出 |
|---|---|---|
| 文件名 | clip_HD.mp4 | 真实画质 |
| 扩展名 | .mp4、.mov | 唯一视频编码 |
| 容器 | MP4、QuickTime/MOV | 所有设备都兼容 |
| 视频编码 | H.264、HEVC、AV1 | 某个固定分辨率 |
同为 MP4,为什么可能一个能播一个不能?
两个 MP4 文件可以装有不同的视频编码、音频编码或配置。播放器支持容器,只是兼容的一部分;还要能处理其中的流。因此交付要求写“MP4”通常不够,还应说明视频和音频编码,以及必要的配置限制。
教学场景:会议素材在自己的电脑可播,接收方设备没有声音。先核对是否有音轨、音频编码和播放端能力,再决定是否需要转码。不要仅把 .mov 重命名为 .mp4 来尝试“转换格式”。
改扩展名、重新封装与转码的区别
改扩展名只改名称;重新封装在支持条件满足时重新组织已有流;转码则涉及解码和再次编码。三者不是同一操作,重命名不会执行后二者。
回到原词中的 Mo:它并不是完整的 .mov 后缀。即使完整出现 MOV,也仍然不能把它当作视频编码或高清保证。保存未知字符,等到实际字段可读时再判断。
来源与适用范围
- MDN:Media container formats
用于解释媒体容器、编码和文件扩展名之间的关系。