在 eac3to 中,当编码音频文件(通常来自 TrueHD 源)时,它可以检测音频是否实际上是 16 位,尽管存储为 24 位。是否可以在 ffmpeg 中检测到这一点?我查看了文档,但没有看到任何可以做到这一点的东西,但我可能错过了一些东西。
带有多余字节的 eac3to 输出示例:
eac3to v3.34
command line: eac3to audio.thd audio.flac
------------------------------------------------------------------------------
TrueHD, 2.0 channels, 48kHz, dialnorm: -27dB
Removing TrueHD dialog normalization...
Decoding with libav/ffmpeg...
Encoding FLAC with libFlac...
Creating file "audio.flac"...
The original audio track has a constant bit depth of 16 bits.
Superfluous zero bytes detected, will be stripped in 2nd pass.
Starting 2nd pass...
Decoding FLAC...
Reducing depth from 24 to 16 bits...
Encoding FLAC with libFlac...
Creating file "audio.flac"...
The processed audio track has a constant bit depth of 16 bits.
eac3to processing took 1 minute, 37 seconds.
Done.
来自 ffprobe 的文件信息:
"Input #0, truehd, from 'audio.thd': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Audio: truehd, 48000 Hz, stereo, s32 (24 bit)"