MeGUI/计算机电影文件
计算机电影文件是包含音频和视频的计算机文件。电影文件由多个组件组成,这些组件在很大程度上是模块化的,这意味着它们可以轻松地替换为其他兼容的组件,而不会影响文件的其他部分。本页解释了不同类型的组件,并提供了它们的常见示例。
重要提示:本页(以及子页面)包含主观的质量比较。任何质量比较的最终决定权在于你的眼睛(或耳朵),所以对所有比较都持保留态度。
容器是文件中将所有内容整合在一起的部分。你把你的视频(比如实际的图像)、音频以及你想放入的任何其他东西都放在容器里面,就像你在 zip 存档中存储多个文件一样。
容器用于以下几个原因
- 允许媒体播放器更好地理解其他组件
- 允许将附加功能添加到文件中,例如
- 流的索引
- 元数据(有关内部流的信息)
- 错误恢复功能
- 章节和其他形式的元导航
- 流
容器子页面包含有关各种容器类型的更多信息。
视频流包含有关实际显示的图像的数据(“视频文件”指的是音频和视频,但“视频流”指的是“视频文件”的图像组件)。基本上,它包含有关如何显示一系列静止图像的指令。
在视频子页面上阅读有关大量视频格式的信息。
许多视频格式对可以显示的内容有限制。大多数视频编码在帧大小为Mod16时表现最佳。
音频流(或流)包含视频文件的音频组件的数据。音频格式在标准与编码器方面与视频格式类似,因此请阅读该部分中有关标准与编码器的部分,以了解其工作原理。
音频子页面包含有关各种音频格式的一些额外信息。
在这种情况下,“字幕”指的是软字幕。在播放期间叠加在视频上的字幕,与直接编码到视频中的硬字幕相反。软字幕有很多优点(这里只概述了主要优点)
- 你可以拥有多个字幕流(即不同的语言、不同的样式等等不厌其烦)
- 你可以打开和关闭字幕(例如,如果你的语言可用作音频流)
- 视频保持不变,允许略高的压缩质量。
在字幕子页面上阅读有关不同字幕格式的更多信息。
一些更高级的容器可以存储额外的内容,例如章节文件、嵌入字体等。继续阅读以了解其中的一些内容。
Matroska 作为一个很酷的小容器,允许你将任何你想作为附件的随机文件包含在内。想包含一个带有发布信息的文件吗?一个包含配乐的 zip 文件?DVD 封面?当然可以!你可以附加任何类型的文件。安装了 Haali 的分割器(DirectShow 事实上的 Matroska 分割器)后,你可以在相关文件的资源管理器属性窗口中查看这样附加的文件,并从那里提取它们。
- 嵌入式字体
- 仅在 Matroska 文件中可用。在混合 SSA/ASS 字幕时,有时你可能想使用目标计算机无法保证拥有的奇怪字体。如果将字体作为附件添加到 Matroska 文件中,VSFilter(DirectShow 事实上的字幕渲染器)将能够在播放字幕时使用这些字体。
非常简单易懂。不同的格式使用不同的章节样式:以下是一个 Matroska 的示例
<Chapters> <EditionEntry> <EditionUID>1</EditionUID> <EditionFlagHidden>1</EditionFlagHidden> <EditionFlagDefault>0</EditionFlagDefault> <ChapterAtom> <ChapterUID>1</ChapterUID> <ChapterFlagHidden>0</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>Part A</ChapterString> <ChapterLanguage>eng</ChapterLanguage> </ChapterDisplay> <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart> </ChapterAtom> <ChapterAtom> <ChapterUID>2</ChapterUID> <ChapterFlagHidden>0</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>Part B</ChapterString> <ChapterLanguage>eng</ChapterLanguage> </ChapterDisplay> <ChapterTimeStart>00:09:48.000000000</ChapterTimeStart> </ChapterAtom> </EditionEntry>
很复杂吧?以下是一个 OGG 格式章节的示例
CHAPTER01=00:00:00.000 CHAPTER01NAME=Chapter 1
好多了。当然,你可以用 Matroska 章节做更多的事情,这里就不详细说明了,只简要解释一下有序章节。
- 有序章节
- 这些基本上是也引用其他 Matroska 文件以进行部分播放的章节。例如,假设你正在编码一个电视剧。你可以剪掉每集的开头和结尾,并将其编码成两个独立的文件。然后,你可以在主要剧集文件中使用有序章节,让他们自动透明地加载回来。很不错。
在某些容器(MKV 和 MP4)中存储一个值的的能力,该值将反映文件在播放时的纵横比,换句话说,进行变形播放。假设你有一个 16:9 的电影,以 4:3 的纵横比编码。那么,当你混合成 MKV 时,你可以将播放比例指定为 16/9,你的媒体播放器将在播放时自动调整到正确的比例。