一,步驟
1.從網站下載源碼
https://launchpad.net/ubuntu/artful/+source/mp4v2
參考“嵌入式Linux下MP4視頻錄製庫MP4V2移植和簡介 - 嵌入式天地 - CSDN博客
http://blog.csdn.net/wavemcu/article/details/40660309”
2.放到海思平臺編譯程序所用的虛擬機中,
使用tar -jxvf xxxx.tar.bz2解壓,生成mp4v2-2.0.0文件夾。
3.在/usr/local下新建安裝目標目錄mp4v2
這個目錄名自定義的,/usr/local路徑也可以自己選擇放別處,一般bin文件都默認在這個位置。並且授權。
4.然後進入到mp4v2源碼目錄下,執行命令
CC=arm-hisiv100nptl-linux-gcc
CXX=arm-hisiv100nptl-linux-g++
./configure --host=arm-hisiv100nptl-linux
--prefix=/usr/local/mp4v2
一直check並且配置,如果沒有fail或error說明執行成功。
解析CC=arm-hisiv100nptl-linux-gcc
CXX=arm-hisiv100nptl-linux-g++
./configure --host=arm-hisiv100nptl-linux
--prefix=/usr/local/mp4v2
備用:(CC=arm-hisiv100nptl-linux-gcc
CXX=arm-hisiv100nptl-linux-g++ ./configure --host=arm-hisiv100nptl-linux --prefix=/usr/local/mp4v2 --disable-option-checking --disable-debug --disable-optimize --disable-fvisibility --disable-gch --disable-largefile --disable-util --disable-dependency-tracking
--disable-libtool-lock)
①.選擇交叉編譯器,找到交叉編譯鏈目錄。因爲mp4v2源碼是基於window的intel架構,所以內部程序格式需要對應到linux端的arm架構,需指定交叉編譯器。之前虛擬機的交叉編譯鏈已經安裝好了,現在只要把mp4v2源碼的配置文件configure指定到先前安裝的交叉編譯鏈環境就可以。使用echo
$PATH或cat /etc/profile可以查看交叉編譯鏈的環境變量對應的交叉編譯器安裝的目錄。(添加環境鏈的目的是方便全局操作,不用每次編譯都調用目錄)
②.這個指令
5.完成後,會在\mp4v2-2.0.0目錄下生成GNUmakefile文件,授權該文件:
chmod 777 /opt/mp4v2-2.0.0 -R
修改GNUmakefile文件中CFLAGS項,爲
CFLAGS = -s -O3 -fPIC -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16 -mapcs-frame
6.然後在在\mp4v2-2.0.0目錄下執行:
make clean;make;make install
等一會執行完成。
7.查看生成的庫文件大小和格式,確保正確
二,後期實驗
1.在一的步驟中,省去步驟5,發現也可以用於海思平臺的錄像。開始後,不會導致設備重啓。
2.在一的步驟中,步驟4裏,將執行命令(CC=arm-hisiv100nptl-linux-gcc
CXX=arm-hisiv100nptl-linux-g++ ./configure --host=arm-hisiv100nptl-linux --prefix=/usr/local/mp4v2 --disable-option-checking --disable-debug --disable-optimize --disable-fvisibility --disable-gch --disable-largefile --disable-util --disable-dependency-tracking
--disable-libtool-lock)
中的--disable-optimize換成--enable-optimize,生成的庫用在海思平臺的錄像上,開始後,設備會重啓。
需交流的話,可發郵箱:[email protected]