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

沒有留言 :

張貼留言