移植的过程还是有点艰辛的,Tiny 4412 ADK 开发板上手册说 要使用录制功能,需要购买配套的CMOS摄像头,哈哈,我偏不信。ffmpeg移植成功,这下我给老师省下了几十块钱的CMOS摄像头购买前,所以说,手册也只是用来参考,不一定要完全相信的啊!
话不多说,首先我们必须要知道在ARM板摄像头工作时是使用了他的设备结点 /dev/video15,这意味着只要软件程序可以使用这个设备结点,将他数据流处理成视频文件就可以成功,而ffmpeg功能强大,早就替我们解决了这个问题,所以使用他正好。
下面我将一步一步的搞定如何移植并使用这个ffmpeg 去录制视频。
1。首先,做ARM嵌入式的开发,电脑的linux 必须要安装交叉编译环境,我们这里的使用的是友善之臂公司手册上提供的交叉编译环境,版本是
ok,安装过程,手册上有的,我就不多说哈。
2.下载x264 并使用交叉编译,这个东西吧其实我们使用的是x264的编译功能,提供了视频流处理的一个环境。本身就带有视频流处理的功能,但不够,交叉编译ffmpeg时需要他。 我是直接进入x264的官网上下载的,如下:http://www.videolan.org/developers/x264.html
一个是下载包,一个是直接命令复制到本地。都可以下载成狗,如果是第一种方式就解压包文件:
解压好了,进入 目录,配置交叉编译。
(1).生成配置文件 执行 ./configure --host=arm-linux --prefix=/usr/local/x264-arm --enable-shared --enable-debug --disable-asm
( 2 ). 修改配置文件 vim/vi config.mak
修改几个参数:
cc=gcc 修改为 cc=arm-linux-gcc
LD = gcc 修改为arm-linux-gcc
ar=ar rc修改为ar=arm-linux-ar rc
ranlib=ranlib 修改为 ranlib=arm-linux-ranlib
ok,执行make 就可以编译了,然后make install 安装这个x264的交叉编译环境。
检查一下,进入cd /usr/loacl 就可以看到又交叉编译的X264-arm 文件了。
好了,有了编译环境了。还需要yasm 的依赖关系。
2.安装 并编译 yasm 。
下载网址:http://yasm.tortall.net/Download.html
当然这可能不一定是必须的,因为依赖关系可能是并存的。但为了确保无误编译不报错,还是安装一下比较好。
下载好之后,解压
进入目录:
配置arm, 执行./configure --prefix=/usr/local/ --host=arm-linux
make
make install
ok,查看一下安装状态:
到此为止,ffmpeg 的依赖yasm也安装好了。
3.安装SDL库
官网:http://www.libsdl.org/download-2.0.php