當前位置:編程學習大全網 - 源碼下載 - ffmpeg編譯視頻加上字幕

ffmpeg編譯視頻加上字幕

ffmpeg編譯及使用ffmpeg編譯及使用

1 ffmpeg介紹

ffmpeg是音視頻的分離,轉換,編碼解碼及流媒體的完全解決方案,其中最重要的就是libavcodec庫。它被mplayer或者xine使用作為解碼器。還有,國內比較流行的播放器影音風暴或MyMPC的後端ffdshow也是使用ffmpeg的解碼庫的。

ffmpeg軟件包經編譯過後將生成三個可執行文件,ffmpeg,ffserver,ffplay。其中ffmpeg用於對媒體文件進行處理,ffserver是壹個/modules/mydownloads/,/faac

FAAD2的編譯

cd faad2

autoreconf -vif

./configure --prefix=/usr --with-mp4v2 --enable-shared

make

make install

faac的編譯

cd faac

chmod +x bootstrap

./bootstrap

./configure --prefix=/usr --with-mp4v2 --enable-shared

make

make install

在編譯ffmpeg,在configure時加上--enable-amr_nb --enable-faad --enable-faac參數。

* 支持3gp格式,這也是現在好多手機支持的格式,所以也得支持編譯

編譯的時候加上--enable-amr_nb --enable-amr_wb參數就行,根據編譯系統的提示,所以我們得下載壹些編譯3gp所需得文件。

源碼網址:http://www.3gpp.org/ftp/Specs

wget http://www.3gpp.org/ftp/Specs/ar ... 6.204/26204-510.zip

解壓以後把裏面的文件都拷貝到libavcodec/amrwb_float

wget http://www.3gpp.org/ftp/Specs/ar ... 6.104/26104-510.zip

解壓以後把裏面的文件都拷貝到libavcodec/amr_float

* ffmpeg支持VC1格式

微軟ASF格式的三個版本,WMV1,WMV2,WMV3分別對應MediaPlayer的版本7,8和9,所以很多時候會稱VC1為WMV3或 WMV9,都是它了,有時候在代碼裏,也能看到稱呼它為VC9的。因為微軟還沒有正式公開這種格式,所以當前對VC1的支持還很不完善。本文基本是根據Multimedia Mike的壹篇博客翻譯和完善而來。

(1) 首先要下載 SMPTE VC-1 reference decoder,這個組織是要收費的,可以從這裏下載免費的。

(2) 在ffmpeg目錄下的libavcodec目錄下面,建立目錄libvc1。

(3) 將VC1_reference_decoder_release6/decoder/目錄中的*.c和*.h文件全部copy到libvc1目錄下。

(4) 將VC1_reference_decoder_release6/shared/目錄中的*.c和*.h文件全部copy到libvc1目錄下。

(5) 將 libvc1-makefile.txt放到libvc1下的Makefile文件。

(6) 將smpte-vc1.c文件放到libavcodec目錄下。

(7) 修改libavcodec目錄下的vc9.c,將文件最後的wmv3_decoder這個AVCodec的structure,用#if 0和#endif包含起來,也就是使它失效了。

(8) 修改libavcodec目錄下的allcodecs.c

  • 上一篇:java學習方法!!!!!急......
  • 下一篇:高管和管理層在思維模式上有哪些不同,如何互補?
  • copyright 2024編程學習大全網