centos安装opencv与ffmpeg

最近做的一个关于视频关键帧提取的项目,需求是需要在centos通过java调用ffmpeg转码,调用opencv将视频拆分成关键帧并做图像识别。
下面是关于环境搭建的相关记录,希望能帮到大家,写的不好的地方欢迎指正。

一.前期准备
1.服务器版本
CentOS Linux release 7.7.1908

2.ffmpeg源码
https://johnvansickle.com/ffmpeg/
版本4.3.1

3.opencv源码
https://opencv.org/releases/
版本4.4.0

4.其他
yasm
gcc
cmake(3.6.3)
nasm
ant
java(需配置JAVA_HOME)

二.交叉编译
1.x264编译
git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --enable-static --enable-shared
make
make install
设置动态库链接
vim /etc/ld.so.conf
将动态库链接添加
/usr/local/FFmpeg-release-4.3/x264

2.ffmpeg编译
./configure --enable-shared --enable-avresample --prefix=/usr/local/ffmpeg --enable-nonfree --enable-gpl --enable-libx264 --enable-encoder=libx264
注意: 使用ffmpeg进行转码的时候,如果需要设置preset等参数时,就必须添加libx264
make -j8
make install
设置动态库连接
vim /etc/ld.so.conf
添加
/usr/local/ffmpeg/lib/
并配置环境变量

export PATH=$PATH:/usr/local/ffmpeg/bin
export PKG_CONFIG_PATH=/usr/local/ffmpeg/lib/pkgconfig


到此ffmpeg安装完成

3.opencv编译
cd source_directory
mkdir release
cd release
cmake -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D WITH_FFMPEG=ON ..
make
make install

执行完以上步骤过后,就可以愉快的使用了!

posted @ 2020-11-16 22:28  抽雪茄的胖子  阅读(449)  评论(0)    收藏  举报