听力障碍是指一个人有听力损失,听力不如听力正常的人。在视频或音频文件中,“听力障碍”是单个轨道上的一个标记。这个标记表示该轨道是为有听力损失的人准备的。
世界卫生组织认为,在双耳听阈为 20 dB 或更好时,听力属于正常。美国全国聋人协会表示,在那里的聋人群体中,大多数人不再接受“听力障碍”这一术语。但文件格式和软件仍然使用它作为字段名称。
哪些文件携带它
每种容器格式以自己的方式存储这个标记。你可以在以下位置找到它:
- MKV:Matroska 元素
FlagHearingImpaired,其 ID 为0x55AB。FFmpeg 在创建 WebM 文件时不会写入这个元素。 - MP4:轨道上的一个
kind盒。FFmpeg 软件会写入方案urn:mpeg:dash:role:2011,值为caption。 - MPEG 传输流 (TS):数字电视 (DVB) 中,音频类型为
0x02,或字幕类型在0x20到0x26之间。 - HLS 播放列表:类似的标记。Apple 要求在为聋人或重听人群提供的字幕轨道上使用
public.accessibility.describes-music-and-sound和public.accessibility.transcribes-spoken-dialog。
数值的呈现方式
在 Matroska 和 ffprobe 中,这个值有两种可能状态。下面的列表说明每种状态的含义:
1:轨道带有该标记。0:轨道不带该标记。
使用 -show_streams 选项时,FFmpeg 的 ffprobe 程序会为每个流输出一个标记列表,每个标记显示 0 或 1。其文本输出形式为 DISPOSITION:hearing_impaired=0,JSON 输出形式为 "hearing_impaired": 0。同一个列表中还包含相关标记,例如 视力障碍 和 captions。
因为这个选项会为每个流打印完整列表,即使文件完全没有字幕,你也会看到一个 0。0 也不能证明文件没有字幕,因为 FFmpeg 会用一个单独的标记来表示字幕。在不加选项时,ffprobe 不会打印这样的列表,只会在带有该标记的流旁边显示 (hearing impaired) 这几个字。
数值的来源
在文件创建或编辑时,由个人或程序设置这个标记。mkvmerge 程序提供了相关选项,FFmpeg 也有相应的 disposition 选项。
FFmpeg 默认会从输入流中复制这些标记。这意味着当你把一个轨道复制到新文件时,该标记可以被保留。在 TS 文件中,FFmpeg 会从流中的音频类型或字幕类型获取这个标记。
FFmpeg 也可以只修改标记,而不改变轨道本身。因此,这个标记只反映有人如何声明,并不能证明轨道的实际内容。
标记轨道包含的内容
带标记的轨道可以是字幕轨道,也可以是音频轨道。codec 类型字段可以告诉你它是哪一种。DVB 数字电视标准会同时列出为重听人群提供的字幕和音频。
字幕可以帮助聋人或重听人群观看视频。它们会显示对话、标明说话人,并描述音效和音乐提示。
普通字幕只显示对话或翻译,适合能听到声音、但听不懂语言的观众。在一些国家,人们会把带听力信息的字幕也称为字幕。
它的重要性
这个标记可以帮助媒体播放器选择轨道。Matroska 规范指出,播放器应优先选择带有该标记的轨道,作为听力受损用户的默认轨道。播放器可以为其他用户选择不同的轨道。
如果一个文件中包含多个使用相同语言的轨道,这个标记会表明哪条轨道是为有听力损失的人准备的。如果没有任何轨道带有这个标记,播放器在这种选择上就没有可用的标记。