![将 DTS 转换为 flac 会导致文件大小更大且比特深度比源文件更大](https://linux22.com/image/1550311/%E5%B0%86%20DTS%20%E8%BD%AC%E6%8D%A2%E4%B8%BA%20flac%20%E4%BC%9A%E5%AF%BC%E8%87%B4%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E6%9B%B4%E5%A4%A7%E4%B8%94%E6%AF%94%E7%89%B9%E6%B7%B1%E5%BA%A6%E6%AF%94%E6%BA%90%E6%96%87%E4%BB%B6%E6%9B%B4%E5%A4%A7.png)
难道我做错了什么?
我运行的命令是ffmpeg -i sample.mkv -acodec flac -vcodec copy flac.mkv
原始文件有 16 位 DTS,而生成的 FLAC 有 24 位,文件大了 1 GB,而我读到的所有地方都说 flac 应该比 DTS 小。
将专有无损格式转换为 FLAC 的正确命令是什么,同时保留原始设置并获得尽可能最小的文件大小?
答案1
FFmpeg 的 FLAC 编码器默认为 24 位(填充并存储为 32 位)。
像这样覆盖它,
ffmpeg -i sample.mkv -acodec flac -sample_fmt s16 -vcodec copy flac.mkv
答案2
您还需要减少省略 LFE 的通道数量:
ffmpeg -i 'input.wav' -acodec flac -sample_fmt s16 -ac 2 -vol 425 -ar 44100 'output.flac'
当然你可以省略:
-ar 44100
如果原始文件已经是您想要的采样率。如果您的文件名包含空格,请像我一样将其括在 '' 中,否则您可以省略它。
在组合声道方面,有更好的方法,但不是标准方法。对于音乐,我发现这种下混方法符合我的需求并让我的耳朵感到满意:
ffmpeg -i 'input.wav' -acodec flac -sample_fmt s16 -af "pan=stereo|FL=0.35*FC+0.707*FL+0.5*BL+0.25*LFE|FR=0.35*FC+0.707*FR+0.5*BR+0.25*LFE" -ar 44100 'output.flac'
系数已缩放,因此不会出现削波。基本过程包括混合中心 -9dB、每个前置通道 -3dB、每个后置通道 -6dB 和低音炮 -12dB。这不是标准,但音乐听起来不错。标准 (-ac2) 是中心 -3dB、前后 -3db,没有低音炮。
更多信息这里。