轨道音量是媒体文件中的一个数值,用来指示某条轨道的播放响度。一条轨道是影片中的一个组成部分,比如画面、一种声音版本或字幕。
轨道音量本身不表示录音有多响。这个数值保存在轨道头部里,与声音数据分开,用作播放指令。
哪些文件携带它
轨道音量属于 QuickTime 文件格式及相关格式。你可以在 MOV 和 MP4 视频,以及 M4A 音频文件中找到这个字段。常见的元数据读取程序 ExifTool 也把 Audible 的 AAX 有声书列入同一格式家族。
这些文件中的每一条轨道都需要自己的轨道头部,因此每条轨道都有自己的数值。一部包含英文、法文和日文声音轨道的电影会有 3 个声音数值,每条轨道一个。
轨道与声道不同。一个立体声轨道包含 2 个声道,但仍然只有一个轨道音量数值。
并不是每种媒体格式都有这个字段。定义 MKV 文件的 Matroska 规范就没有为轨道列出音量元素。
数值的呈现方式
轨道头部以 tkhd 的名称存储,其中的轨道音量是 16 位定点数。报告中可能以不同形式显示这个数值。比如 ExifTool 会将存储的数值除以 256,并以带 2 位小数的百分比输出。
通常你会看到这些数值:
- 文件中的
0x0100,或十进制的1.0,表示正常音量。ExifTool 会将这个数值显示为 100.00%。 - 文件中的
0,或十进制的0.0,通常出现在没有可听声音的轨道上,比如视频轨道。ExifTool 会将这个数值显示为 0.00%。
QuickTime 软件也允许其他数值。Apple 较早期的 QuickTime 开发文档指出,一部电影中的各个轨道可以有不同的音量。文档给出的范围是从 -1.0 到 1.0,负值则表示不播放声音。
数值的来源
写入文件的程序会设置轨道音量。开源媒体程序 FFmpeg 会为每条音频轨道写入 0x0100,为其他轨道写入 0。无论录音本身是轻声还是响亮,FFmpeg 写入的数值都相同。
Track Volume 与其他音量数值有何不同
还有其他用于描述音量的数值,它们的用途不同:
- 首选音量存放在影片头部,用来指示整部影片的播放响度。数值为
1.0表示全音量。 - 媒体播放器中的音量控制属于播放器本身,而不属于轨道头部。
- MP3 文件可以使用 ID3v2 帧
RVA2在播放时调整每个声道的音量。
这对你的文件有何影响
0 这个数值并不能证明你的文件是静音的。它通常属于没有声音的轨道,比如画面轨道。检查每条轨道的 编码类型,以确定哪条轨道包含声音。
报告中显示的数值也可能少于文件中实际包含的数值。默认情况下,ExifTool 只保留它找到的第一个轨道音量,忽略其余的。
如果画面轨道排在第一位,即使某个音频轨道的数值是 1.0,报告中仍会显示 0.00%。ExifTool 的重复标签选项可以显示其他数值。
你也不能认为每个播放器都会遵从这个数值。针对这些文件的 FFmpeg 读取器会跳过存储的数值而不使用它。轨道音量不包含任何个人信息。