由于通过ffmpeg命令行每隔一秒获取jpg图片并通过脚本转发到图片处理服务这种模式,需要运行脚本 ,ffmpeg,图片处理服务,其中一个环节挂了就没法玩了,而且图片处理服务只需要用到bgr24的数据,如果直接通过rtsp流拿到h264解码后再将yuv420p转成bgr24,这样的话就剩了好多环节。
所以决定研究下linux下的ffmpeg的编程,就从编译安装开始吧,因为opencv也正好要用到就一起安装了。?
准备工作
一台干净的ubuntu16.04系统
ffmpeg安装包
opencv安装包
ffmpeg编译安装
#安装相关工具
sudo apt-get install -y nasm yasm cmake gcc
#下载&安装
wget https://ffmpeg.org/releases/ffmpeg-4.1.3.tar.bz2
tar jxf ffmpeg-4.1.3.tar.bz2
cd ffmpeg-4.1.3
#编译,这里因为要用到ffmpeg的动态库所以加上 --enable-shared
./configure --enable-shared --prefix=/usr/local
make
make install
opencv编译安装
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.1.0.zip
unzip opencv.zip
cd opencv-4.1.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
make install
参考文献
linux下编译安装ffmpeg和opencv
https://www.cnblogs.com/Xiegg/articles/3487504.html
ubuntu16.04 下 ffmpeg 的编译安装详细教程
https://blog.youkuaiyun.com/wangyjfrecky/article/details/80998303>