使用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庫命令一樣:
6.安裝完成后,將FFmpeg的bin目錄添加到.bash_profile(FFmpeg安裝后的目錄是在配置configure時設置的"/usr/local/ffmpeg")
執行完以上命令后,基本上就可以解決上述問題了。
總結
到此這篇關于使用 FFmpeg 命令拼接mp3音頻文件異常問題及解決方法的文章就介紹到這了,更多相關FFmpeg 拼接mp3音頻文件內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- ffmpeg播放器實現詳解之框架搭建過程
- ffmpeg播放器實現詳解之視頻顯示(推薦)
- java使用ffmpeg實現上傳視頻的轉碼提取視頻的截圖等功能(代碼操作)
- java使用ffmpeg處理視頻的方法
- 使用Java和ffmpeg把音頻和視頻合成視頻的操作方法
- 使用ffmpeg 合并aac格式音頻文件的方法
- ffmpeg Windows10下的安裝及使用過程解析
- FFmpeg獲取網絡攝像頭數據解碼
- Java通過調用FFMPEG獲取視頻時長
- javaCV開發詳解之收流器實現