我們的生活離不開多媒體技術,智能電視,互聯(lián)網視頻雄可,安防監(jiān)控库北,播放器锉走,媒體中心,機器人視覺,航拍,移動直播,視頻會議... 而這些細分領域,到處都是FFmpeg的身影身弊∷苎拢看看它的介紹:
FFmpeg是一套可以用來記錄吕漂、轉換數(shù)字音頻廷痘、視頻蚓哩,并能將其轉化為流的開源計算機程序构灸。它包括了目前領先的音/視頻編碼庫libavcodec。 FFmpeg是在Linux下開發(fā)出來的岸梨,但它可以在包括Windows在內的大多數(shù)操作系統(tǒng)中編譯喜颁。這個項目是由Fabrice Bellard發(fā)起的,現(xiàn)在由Michael Niedermayer主持曹阔“肟可以輕易地實現(xiàn)多種視頻格式之間的相互轉換,例如可以將攝錄下的視頻avi等轉成現(xiàn)在視頻網站所采用的flv格式赃份。
自己動手寂拆,豐衣足食!
補充一點:
源碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)抓韩、安裝(make install)纠永。
configure是一個可執(zhí)行腳本,它有很多選項谒拴,在待安裝的源碼路徑下使用命令./configure –help輸出詳細的選項列表尝江。
其中--prefix選項是配置安裝的路徑,如果不配置該選項英上,安裝后可執(zhí)行文件默認放在/usr/local/bin炭序,庫文件默認放在/usr/local/lib啤覆,配置文件默認放在/usr/local/etc,其它的資源文件放在/usr /local/share惭聂,比較亂窗声。
編譯環(huán)境:
Ubuntu 14.04.4 LTS
交叉編譯工具鏈:arm-linux-gcc-4.4.3
用命令arm-linux-gcc -v
可以查看版本信息
1、下載ffmpeg
官網:http://www.ffmpeg.org/download.html
github: https://github.com/FFmpeg/FFmpeg
目前最新版本是ffmpeg-3.0.2
下載好后解壓到某個目錄
2彼妻、在shell下進入ffmpeg目錄下
首先執(zhí)行configure配置文件嫌佑,它是一個配置腳本
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
其中/usr/local/ffmpeg指定了編譯結果的輸出路徑
3、開始 編譯
第一步make
第二部make install
實際編譯 會 耗點時間 侨歉,根據(jù)自己的cpu 核數(shù) 可以 并發(fā)幾個線程同時編譯屋摇,用make -j4或者make -j8
代替make執(zhí)行
4、安裝之后在/usr/local/ffmpeg會看到有4個目錄
bin 下就是可執(zhí)行文件了
lib 靜態(tài)幽邓,動態(tài)鏈接庫目錄
此時編譯工作也算順利進行了炮温,但是要移植到android平臺上還沒有這么容易。
不過此時此刻可以跑ffmpeg命令是沒有問題的,
單獨運行ffmpeg會出現(xiàn)提示,眾所阿周知ffmpeg是用來轉碼的牵舵,所以測試要加上參數(shù)信息.
上面我加了一個-i命令,將mp4格式的視頻轉成了mkv格式.
再看一個好玩的命令:
ffmpeg -i video.mp4 image%d.jpg
將視頻分解成圖片序列
從輸出結果可以看到有552幀圖像,所以分解成552張圖片.
ok,接下來要分析ffmpeg.c文件柒啤,從入口main函數(shù)開始。趕緊把源碼閱讀利器Source Insight裝上~~~