使用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根目錄,執行以下命令:
1
2
3
|
./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源碼后進入根目錄,首先需要配置第三方庫:
1
|
./configure --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg |
5.配置完成后,執行編譯安裝命令與libmp3lame庫命令一樣:
1
2
|
make sudo make install |
6.安裝完成后,將FFmpeg的bin目錄添加到.bash_profile(FFmpeg安裝后的目錄是在配置configure時設置的"/usr/local/ffmpeg")
執行完以上命令后,基本上就可以解決上述問題了。
總結
到此這篇關于使用 FFmpeg 命令拼接mp3音頻文件異常問題及解決方法的文章就介紹到這了,更多相關FFmpeg 拼接mp3音頻文件內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.jianshu.com/p/d5c5dae3ac9c