2010-07-15 76 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

相關問題