2011年11月22日星期二

FFmpeg 使用 libmp3lame 函式庫的問題 (The problem of FFmpeg when using libmp3lame library)

FFmpeg 是一種強大的影音格式轉換工具,大部分免費(不一定開源)影音處理軟件都會使用 FFmpeg
FFmpeg 的背後還有不斷更新、強化的巨大函式庫,函式庫大部分也是免費、開源的
其中經常使用的 MP3 音訊格式也是調用 libmp3lame 函式庫所編碼而成

雖然有不少比 MP3 格式還高質素的音訊格式,但由於 MP3 輕巧、體積細小、移植性高
令網絡上很多音訊播放器及下載的音訊格式都以 MP3 為主

以 Ubuntu 為例子,利用 apt-get install 安裝 ffmpeg 及相關函式庫
sudo apt-get install libmp3lame-dev libavcodec-extra-52 libavcodec-unstripped-52 ffmpeg
留意,新版本的 Ubuntu 可能會使用 libavcodec-extra-53 libavcodec-unstripped-53 或更新版本

完成後可以輸入
ldd /usr/bin/ffmpeg
sudo ldconfig
手動更新函式庫

透過 -acodec 指定音訊編碼為 libmp3lame
ffmpeg -i myvideo.avi -acodec libmp3lame myaudio.mp3
但某些情況 -acodec 會找不到 libmp3lame 的編碼名稱
而出現 Unknown decoder 'libmp3lame' 的奇怪狀況

因此要改寫為 mp3
ffmpeg -i myvideo.avi -acodec mp3 myaudio.mp3

沒有留言 :

發佈留言