audio - 重新采样音频时FFMPEG失真

标签 audio ffmpeg mp3 flac

我正在使用 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 的余量。如果没有,请先降低增益。

如果对 intermediate.flac 的重新采样导致幅度显着增加,则原始 input.flac 的掌握不佳。如果是这样(并且质量非常重要),请在音频编辑器中进行 SR 转换(即 Audacity,它的重采样工作比 FFMpeg 更好)并在重采样和抖动步骤之间应用限制器以很好地降低少数强峰值。

如果这没有帮助: input.flac 到底包含什么?音乐?噪音?演讲?它是自制的还是取自其他东西?

关于audio - 重新采样音频时FFMPEG失真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45668513/

相关文章:

ffmpeg avcodec_encode_video2 在使用快速同步 h264_qsv 编码器时挂起

iphone - 哪种格式支持播放视频的音频文件?

c# - WPF 应用程序 mp3 声音文件的相对路径

python - LED矩阵上的音频可视化器

javascript - Audiolib.js:更改现有 “objects”的值

javascript - 为什么 "ended"音频html5事件多次触发?

c++ - FFmpeg 库 : modified muxing sample for FLTP input and FLTP audio, 丢失音频

ffmpeg - Red5 上的 HDFVR - 将 FLV 转换为 mp4 不起作用

audio - 如何从 ffmpeg 过滤器设置音频格式?

c - C 中的音频 (mp3) 编辑