一,步骤
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
,生成的库用在海思平台的录像上,开始后,设备会重启。
需交流的话,可发邮箱:zhaomh2012@sina.com