使用 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"
論壇上提供的解決辦法是:將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音訊檔案內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!