我需要使用ffmpeg将音频文件转换为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 D A mp3 MP3 (MPEG audio layer 3) D A mp3adu ADU (Application Data Unit) MP3 (MPEG audio layer 3) D A mp3on4 MP3onMP4 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra
我猜这个mp3编解码器没有安装.我在这儿吗?有人可以帮我从这里出去吗 ?
可以在此处找到非常完整的ffmpeg参数列表:
http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs
所以你可以使用这个命令:
ffmpeg -i input.wav -vn -ar 44100 -ac 2 -b:a 192k output.mp3
此示例中使用的参数的说明:
-i
- 输入文件
-vn
- 禁用视频,以确保如果源是视频文件,则不包含视频
-ar
- 设置音频采样频率.对于输出流,默认情况下将其设置为相应输入流的频率.对于输入流,此选项仅对音频抓取设备和原始分路器有意义,并映射到相应的分路器选项.
-ac
- 设置音频通道的数量.对于输出流,默认设置为输入音频通道的数量.对于输入流,此选项仅对音频抓取设备和原始分路器有意义,并映射到相应的分路器选项.所以用这里确保它是立体声(2声道)
-b:a
- 实际上似乎已被更改,因此应更换为更新的ffmpeg版本,以-i
将音频比特率转换为精确的每秒192kbit
-vn
- 强制输入或输出文件格式.通常会自动检测输入文件的格式,并从输出文件的文件扩展名中猜出格式,因此在大多数情况下不需要此选项.
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转换格式.
没关系,
我正在使用以下命令将我的音频文件转换为mp2:
ffmpeg -i input.wav -f mp2 output.mp3
这个命令很完美.
我知道这实际上将文件转换为mp2格式,但结果文件大小相同..
对于文件夹中文件的批处理,目标是190 VBR,文件扩展名= .mp3而不是.ac3.mp3,您可以使用以下代码
将.ac3更改为源音频格式.
ffmpeg mp3设置
for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done
我不得不清除我的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
对于文件夹中的批处理文件:
for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done
此脚本将文件夹中的所有"wav"文件转换为mp3文件并添加mp3扩展名
必须安装ffmpeg.(见其他答案)