OpenCV加FFmpeg ARM交叉编译
项目需要在zedboard上使用OpenCV对视频进行处理,所以需要FFmpeg的支持。
FFmpeg是一种开源的软件,可以对视频和音频进行录制,转换和流功能,它包含libavcodec(音频和视频的解码库),和libavformat,libavutils和其他辅助性的库。这些库在OpenCV的highgui模块调用来处理音视频。
对OpenCV交叉编译有点麻烦,特将编译过程及遇到的问题和解决办法记录一下
s首先说下编译环境及所用库的版本号
项目 | 版本号 | 链接 |
---|---|---|
操作系统 | Ubuntu 14.04 | |
OpenCV | 2.4.13 | opencv-2.4.13.zip |
FFmpeg | 3.1.4 | ffmpeg-3.1.4.tar.bz2 |
x264 | 20161020 | x264-snapshot-20161019-2245-stable.tar.bz2 |
libjpeg | 9.0.0 | jpegsrc.v9.tar.gz |
libpng | 1.6.25 | libpng-1.6.25.tar.gz |
xvidcore | 1.3.4 | xvidcore-1.3.4.tar.gz |
一.安装过程
1.1 安装交叉编译工具
因为要在zedboard上运行,所以安装xilinx的交叉编译工具,可以从github上下载也可以从这里下载我用的,因为这个工具是32位系统设计的,64位系统需要先安装部分32位的库
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 libgtk2.0-0:i386
然后将dash更改为bash
sudo dpkg-reconfigure dash
在弹出的对话框中选择NO,将dash更改为bash,然后修改下安装程序的权限
sudo chmod u+x xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
执行安装程序
(sudo)./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
可以选择用管理员权限安装,此时安装后的执行文件的路径为
/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/
不使用管理员权限安装的执行文件路径为:
/home/<user name>/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/
最后需要修改一下环境变量,将install path更改为上述交叉编译工具的执行文件安装路径
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=<install path>:$PATH