当前位置:  开发笔记 > 后端 > 正文

使用ffmpeg将音频文件转换为mp3

如何解决《使用ffmpeg将音频文件转换为mp3》经验,为你挑选了6个好方法。

我需要使用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编解码器没有安装.我在这儿吗?有人可以帮我从这里出去吗 ?



1> Frank..:

可以在此处找到非常完整的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 - 强制输入或输出文件格式.通常会自动检测输入文件的格式,并从输出文件的文件扩展名中猜出格式,因此在大多数情况下不需要此选项.


@nikt:`man ffmpeg`是最新的!
[这注明了ffmpeg比特率参数的区别](https://trac.ffmpeg.org/wiki/Encode/MP3).`-qscale:a`用于VBR,`-b:a`用于CBR.ABR编码是可能的,但在不同的地方详述.

2> Ijas Ahamed ..:

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转换格式.


添加`-b:128k`为128 kbps.
甚至更短而没有`acodec`:ffmpeg -i audio.aac audio.mp3

3> Hrishikesh C..:

没关系,

我正在使用以下命令将我的音频文件转换为mp2:

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

这个命令很完美.

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


这不会导致mp3文件
生成波形文件
虽然大小相同,但这些mp2文件无法在网络浏览器中播放**,因为它们不是mp3.甚至没有Flash播放器.他们唯一的好处是他们需要更少的CPU编码,但缺点是不值得.

4> planb..:

对于文件夹中文件的批处理,目标是190 VBR,文件扩展名= .mp3而不是.ac3.mp3,您可以使用以下代码

将.ac3更改为源音频格式.

ffmpeg mp3设置

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



5> Komu..:

我不得不清除我的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


这是短路,但如果要指定每秒的质量kb,请使用-ab 192k

6> MKK..:

对于文件夹中的批处理文件:

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

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

必须安装ffmpeg.(见其他答案)


上面的命令创建名为`wav.mp3`的文件.要获取具有正确文件扩展名的文件,请将命令更改为:`for i in*.wav; do ffmpeg -i"$ i"-f mp3"$ {i%.*}.mp3"; 完成`,即在`i%`之后添加`.*`.
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有