使用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