词典

什么是轨道音量?

轨道音量是在 MP4、MOV 等文件的每个轨道中存储的一个数值。它告诉播放器该轨道播放时有多响,而不是说明录音本身有多响。

track-volume

轨道音量是媒体文件中的一个数值,用来指示某条轨道的播放响度。一条轨道是影片中的一个组成部分,比如画面、一种声音版本或字幕。

轨道音量本身不表示录音有多响。这个数值保存在轨道头部里,与声音数据分开,用作播放指令。

哪些文件携带它

轨道音量属于 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 读取器会跳过存储的数值而不使用它。轨道音量不包含任何个人信息。