我正在用ffmpeg从flac文件制作mp3。这对我来说通常是哼哼唧唧的。
今晚,由于某种原因,当我使用我一直使用的相同命令时,转换后的音频会失真。故障排除后,问题似乎出在"-out_sample_rate"标志上。
我的命令:
ffmpeg -i input.flac -write_id3v1 1 -id3v2_version 3 -dither_method modified_e_weighted -out_sample_rate 44.1k -b:a 320k output.mp3
然后,mp3中的音频被千斤顶增益严重失真,导致数字削波。
我尝试更新ffmpeg,然后问题仍然存在。我尝试将各种采样率(44.1k 源文件、48k 源文件、96k 源文件(转换为 44.1k 和 48k mp3,每当进行转换时问题仍然存在。
我在macOS上,我通过自制软件安装了ffmpeg。
有什么想法吗?
您确定失真来自重新采样吗?
即使是最差的重采样算法也不会失真。重采样不良造成的更典型的伪像是由于混叠和量化噪声引起的刺耳高频。
FFmpeg的重采样器不是最好的,但它一点也不差。它根本不应该导致失真。足够一般使用。
源文件有多少余量?
如果不够,重新采样或 MP3 转换可能会导致削波。MP3编码器从信号中删除频率(即使在320kbps时(,因此波形会发生变化。
因此,将编码的MP3重新导入音频编辑器并查找剪辑。
如果不确定失真来自哪个步骤,请将命令拆分并查看,哪个步骤会导致削波:
ffmpeg -i input.flac -write_id3v1 1 -id3v2_version 3 -dither_method modified_e_weighted -out_sample_rate 44.1k intermediate.flac
ffmpeg -i intermediate.flac -b:a 320k output.mp3
在转换为 MP3 之前,应该至少剩下 1dB 的余量。如果没有,请降低之前的增益。
如果中间.flac的重新采样导致幅度显着增加,则原始input.flac的掌握效果不佳。如果是这样(并且质量非常重要(,请在音频编辑器中进行SR转换(即Audacity,它比FFMpeg做得更好(,并在重采样和抖动步骤之间应用限幅器以很好地降低几个强峰值。
如果这没有帮助:input.flac 到底包含什么?音乐?噪声?演讲?它是自制的还是从其他东西中获取的?