MPEG音频恒定比特率转换

时间:2020-07-28 12:18:07

标签: audio ffmpeg signal-processing sox librosa

我正在尝试将一些.wav文件转换为.mp3格式

所需的.mp3格式为:

enter image description here

我尝试使用FFmpeg使用以下代码:

ffmpeg -i input.wav -vn -ac 2 -b:a 160k output1.mp3

这是此命令以.wav格式输出的结果

enter image description here

我得到了结果,但是两件事不同 整体比特率模式和写库

  • 写作库:LAME3.99.5与LAME3.100(我认为这不应该 有什么问题吗?)
  • 比特率模式恒定Vs变量

如何将比特率模式从变量更改为常量?我需要使用相同的写作库进行转换吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

使用ffmpeg -i input.wav -vn -ac 2 -b:a 160k output1.mp3的输出是恒定比特率,但是ffmpeg会写一个标题为Xing的标头,而Mediainfo会推断出该标题以指示VBR。如果您希望Mediainfo检测恒定比特率,请禁用该标头的写入。

ffmpeg -i input.wav -vn -ac 2 -b:a 160k -write_xing 0 output1.mp3

请注意,实际的MP3编码不会更改。

答案 1 :(得分:0)

我最终使用了sox而不是FFmpeg:

sox -t wav -r 48000 -b 16 -c 2 file.wav -C 160 -t mp3 sock33.mp3
  • 采样率为48 kHz(-r 48000)
  • 两个频道(-c 2)
  • 16位位深度(-b 16)