使用ffmpeg将audio文件转换为mp3

我需要使用ffmpeg将audio文件转换为mp3。

当我写命令为ffmpeg -i audio.ogg -acodec mp3 newfile.mp3 ,我得到的错误:

 FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 built on Jun 24 2010 14:56:20, gcc: 4.4.1 Input #0, mp3, from 'ZHRE.mp3': Duration: 00:04:12.52, start: 0.000000, bitrate: 208 kb/s Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s Output #0, mp3, to 'audio.mp3': Stream #0.0: Audio: 0x0000, 44100 Hz, stereo, s16, 64 kb/s Stream mapping: Stream #0.0 -> #0.0 Unsupported codec for output stream #0.0 

我也运行这个命令:

  ffmpeg -formats | grep mp3 

并得到这个回应:

 FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 built on Jun 24 2010 14:56:20, gcc: 4.4.1 DE mp3 MPEG audio layer 3 DA mp3 MP3 (MPEG audio layer 3) DA mp3adu ADU (Application Data Unit) MP3 (MPEG audio layer 3) DA mp3on4 MP3onMP4 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra 

我想,MP3编解码器没有安装。 我在这里吗? 有人可以帮我从这里出去吗 ?

一个非常完整的ffmpeg参数列表可以在这里find:

http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs

所以你可以使用这个命令:

 ffmpeg -i input.wav -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3 

在这个例子中使用的参数的解释:

  • -i – input文件

  • -vn – 禁用video,确保如果video源是video文件,则不包含video

  • -ar – 设置audio采样频率。 对于输出stream,它默认设置为相应inputstream的频率。 对于inputstream,此选项仅适用于audio捕获设备和原始分路器,并映射到相应的分路器选件。

  • -ac – 设置audio通道的数量。 对于输出stream,它默认设置为inputaudio通道的数量。 对于inputstream,此选项仅适用于audio捕获设备和原始分路器,并映射到相应的分路器选件。 所以在这里使用,以确保它是立体声(2通道)

  • -ab – 实际上似乎被改变了,所以应该用新的ffmpeg版本replace为-b:a 192k将audio比特率转换为精确的每秒192kbit

  • 强制input或输出文件格式。 格式通常是自动检测input文件,并从输出文件的文件扩展名中猜测出来,所以在大多数情况下这个选项是不需要的。

没关系,

我使用以下命令将audio文件转换为mp2:

 ffmpeg -i input.wav -f mp2 output.mp3 

这个命令完美地工作。

我知道这实际上将文件转换为mp2格式,但是结果文件大小是相同的。

1)wav到mp3

 ffmpeg -i audio.wav -acodec libmp3lame audio.mp3 

2)ogg到mp3

 ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3 

3)ac3到mp3

 ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3 

4)AAC到MP3

 ffmpeg -i audio.aac -acodec libmp3lame audio.mp3 

在这里获取所有的ffmpeg转换格式。

我不得不清除我的ffmpeg,然后从ppa安装另一个:

 sudo apt-get purge ffmpeg sudo apt-add-repository -y ppa:jon-severinsson/ffmpeg sudo apt-get update sudo apt-get install ffmpeg 

然后转换:

  ffmpeg -i audio.ogg -f mp3 newfile.mp3 

batch file夹中的文件:

 for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done 

此脚本将文件夹中的所有“wav”文件转换为mp3文件并添加mp3扩展名

必须安装ffmpeg 。 (查看其他答案)

对batch file夹中的目标为190 VBR和文件扩展名= .mp3而不是.ac3.mp3您可以使用下面的代码

将.ac3更改为源audio格式。

ffmpeg mp3设置

 for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done