1. 程式人生 > 程式設計 >使用 FFmpeg 命令拼接mp3音訊檔案異常問題及解決方法

使用 FFmpeg 命令拼接mp3音訊檔案異常問題及解決方法

使用FFmpeg命令拼接多個mp3格式的音訊檔案時報錯丟擲異常,使用命令格式如下:

ffmpeg -i 1.mp3 -i 2.mp3 -filter_complex '[0:0] [1:0] concat=n=2:v=0:a=1 [a]' -map [a] out3.mp3

異常錯誤提示資訊:

Automatic encoder selection failed for output stream #0:0. Default encoder for format mp3 (codec mp3) is probably disabled. Please choose an encoder manually.

使用Google搜尋後發現問題原因在於只有mp3的解碼庫,沒有mp3編碼庫導致的,需要新增libmp3lame第三方庫。

libmp3lame第三方庫安裝方法:

  • 下載 libmp3lame原始碼壓縮包並解壓
  • 開啟命令列視窗並cd進入libmp3lame根目錄,執行以下命令:
./configure
make
sudo make install

PS:在執行make命令時Mac系統可能會丟擲異常:"ld: symbol(s) not found for architecture x86_64"

使用 FFmpeg 命令拼接mp3音訊檔案異常問題及解決方法

論壇上提供的解決辦法是:將libmp3lame目錄下的libmp3lame.sym檔案中的lame_init_old這項刪去即可。

3.libmp3lame庫編譯安裝成功後開始編譯安裝FFmpeg。
4.在安裝FFmpeg之前需要先將本機上已安裝的FFmpeg解除安裝乾淨,下載FFmpeg原始碼後進入根目錄,首先需要配置第三方庫:

./configure --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg

5.配置完成後,執行編譯安裝命令與libmp3lame庫命令一樣:

make
sudo make install

6.安裝完成後,將FFmpeg的bin目錄新增到.bash_profile(FFmpeg安裝後的目錄是在配置configure時設定的"/usr/local/ffmpeg")

執行完以上命令後,基本上就可以解決上述問題了。

總結

到此這篇關於使用 FFmpeg 命令拼接mp3音訊檔案異常問題及解決方法的文章就介紹到這了,更多相關FFmpeg 拼接mp3音訊檔案內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!