2010-07-15 170 views
51

我需要使用ffmpeg将音频文件转换为mp3。使用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编解码器没有安装。我在这里吗?有人可以帮我从这里出去吗 ?

回答

13

没关系,

我将我的音频文件MP2通过使用命令:

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

此命令完美的作品。

我知道,这实际上是转换文件格式,MP2,但随后生成的文件大小是一样的..

+1

服务器上的静态编译生成一个波形文件 – LtWorf 2014-10-06 17:58:02

+3

这不重新在一个MP3文件sult – m13r 2014-10-17 20:53:59

83

的ffmpeg的论点非常完整的列表可以在这里找到:

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 - 输入文件

  • -vn - 禁用视频,以确保没有包括视频,如果源是一个视频文件

  • -ar - 设置音频采样频率。对于输出流,它默认设置为相应输入流的频率。对于输入流,此选项仅适用于音频抓取设备和原始分路器,并且映射到相应的分路器选件。

  • -ac - 设置音频通道的数量。对于输出流,它默认设置为输入音频通道的数量。对于输入流,此选项仅适用于音频抓取设备和原始分路器,并且映射到相应的分路器选件。所以在这里使用,以确保它是立体声(2个通道)

  • -ab - 实际上似乎被改变,所以应更换为新的ffmpeg版本-b:a 192k 音频比特率转换为每秒

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

+0

这篇文章是从2008年,更新更新? – nkint 2013-05-01 11:24:00

+3

@nikt:'man ffmpeg'最新的一个! – mohamnag 2016-06-10 09:40:37

+3

[这注释了ffmpeg比特率参数的差异](https://trac.ffmpeg.org/wiki/Encode/MP3)。 '-qscale:a'用于VBR,'-b:a'用于CBR。 ABR编码是可能的,但在不同的地方详细说明。 – fredsbend 2017-01-21 20:51:56

8

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

这是简短的方法,但如果你想指定每秒钟的质量kb,请使用-ab 192k – wrivas 2015-08-29 13:57:29

17

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

+0

如何指定mp3比特率? – Suragch 2016-12-14 12:14:12

+2

为128kbps添加'-b:128k'。 – Mulvya 2016-12-18 11:35:36

3

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

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

该脚本将所有 “WAV” 文件夹中的MP3文件的文件,并增加了MP3扩展

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

+1

使用'-f mp2'生成MP2,而不是MP3。更改为'-f mp3' – Mulvya 2016-12-18 11:35:18

+0

@Mulvya谢谢。更新 – 2016-12-18 15:40:58

+0

上述命令创建名为'wav.mp3'的文件。要获得具有正确文件扩展名的文件,请将命令更改为:'for in in * .wav;做ffmpeg -i“$ i”-f mp3“$ {i%。*}。mp3”;完成“,即在'i%'之后添加'。*'。 – 2018-02-25 14:16:05

4

对于批量处理与文件夹瞄准190 VBR和文件扩展名的文件= MP3播放,而不是.ac3.mp3您可以使用下面的代码

变化的AC3到任何源音频格式是。

ffmpeg mp3 settings

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

尝试FFmpeg的静电积聚Link

文档:https://www.johnvansickle.com/ffmpeg/

主机在同一目录

$ffmpeg = dirname(__FILE__).'/ffmpeg'; 

$command = $ffmpeg.'ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3'; 

shell_exec($command); 
+0

这不提供问题的答案。一旦你有足够的[声誉](https://stackoverflow.com/help/whats-reputation),你将可以[对任何帖子发表评论](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/18634916) – thewaywewere 2018-01-26 16:06:23