我注意到,当我使用 FFMPEG 将 mod 导出为 24 位或更高位的波形时,FFMPEG 决定使用可扩展编码而不是常规 PCM 编码并使用“Lavf58.76.100”,不管是什么。我使用 exiftool 检查导出的 wav,结果如下:
---- File ----
File Type : WAV
File Type Extension : wav
MIME Type : audio/x-wav
---- RIFF ----
Encoding : Extensible
Num Channels : 2
Sample Rate : 48000
Avg Bytes Per Sec : 288000
Bits Per Sample : 24
Software : Lavf58.76.100
问题是,许多程序不理解这种可扩展的 wav 格式。有没有办法告诉 FFMPEG 改用常规 PCM?我注意到其他程序(例如低音库)可以使用常规 PCM 编码导出为 24 位 wav。
这是我正在使用的命令:
ffmpeg -y -loglevel error -f libopenmpt -i c:\temp\sometrack.IT -map_metadata -1 -c:a pcm_s24le c:\temp\sometrack.wav
编辑
当我写这个问题时,我有点沮丧并且缺乏知识。现在,一切都非常清楚了;位深度高于 16 位的 wave 文件,应具有 WAVE_FORMAT_EXTENSIBLE 标记(这是有道理的,请参阅答案)。除了 FFmpeg,我用来将 mod 文件渲染为 wave 的软件不遵守这条规则。谢谢 Tom Yan 的澄清。