目录
一、安装ffmpeg
参考文章:http://blog.yundiantech.com/?log=blog&id=35
创建文件夹ffmpeg4.1
sudo su
cd /usr/
mkdir ffmpeg4.1
chmod 777 -R ffmpeg4.1/
cd ffmpeg4.1/
cp ffmpeg-4.2.3.tar.bz2 nasm-2.14.02.tar.bz2 sqlite-autoconf-3380500.tar.gz x264-snapshot-20191024-2245-stable.tar.bz2 yasm-1.3.0.tar.gz /usr/ffmpeg4.1/
解压压缩包
- 安装yasm
tar xvzf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install
- 安装nasm
tar xvf nasm-2.14.02.tar.bz2
cd nasm-2.14.02
./configure
make && make install
- 安装其他依赖
apt install cmake -y
- 编译x264(只编译静态库)
tar xvf x264-snapshot-20191024-2245-stable.tar.bz2
cd x264-snapshot-20191024-2245-stable
./configure --enable-static --prefix=../x264 --enable-pic
make -j16
make install
- 编译ffmpeg
tar xvf ffmpeg-4.2.3.tar.bz2
cd ffmpeg-4.2.3
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:../x264/lib/pkgconfig
./configure --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libx264 --prefix=../ffmpeg
make -j32
make install
配置ffmpeg环境变量:gedit ~/.bashrc
最后面添加
export FFmpeg_PATH=/usr/ffmpeg4.1/ffmpeg
# 需要让os能够找到 ffmpeg ffprobe等命令
export PATH=$FFmpeg_PATH/bin:$PATH
# 需要提供路径, 让ffmpeg ffprobe等命令找到需要的依赖
export LD_LIBRARY_PATH=$FFmpeg_PATH/lib:$LD_LIBRARY_PATH
- 然后让文件生效
source ~/.bashrc
- 重新打开终端,用ffmpeg -version 查看ffmpeg的版本
二、安装opencv
参考文章:https://blog.youkuaiyun.com/weixin_52288941/article/details/120614133
cd ~
mkdir opencv
chmod 777 -R opencv/
cd opencv/
cp ~/share/ffmpeg/opencv-3.4.11.zip ~/opencv/
unzip opencv-3.4.11.zip
cd opencv-3.4.11
sudo apt-get update
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
- 出现问题
- E: Unable to locate package libjasper-dev的解决办法
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
- 配置编译环境
cd opencv-3.4.11
mkdir build
sudo chmod 777 -R build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j4
sudo make install
- 配置编译环境
sudo gedit /etc/ld.so.conf.d/opencv.conf
sudo ldconfig
sudo gedit /etc/bash.bashrc
- 在bash.bashrc 文件最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
- 保存退出,执行如下命令使得配置生效
source /etc/bash.bashrc
sudo updatedb
- 查看opencv版本信息
pkg-config --modversion opencv
三、项目工程编译运行
虹软的sdk注册
- 虹软科技官网:https://www.arcsoft.com.cn/
- 注册账号
- 获取设备授权码
- 下载sdk
-解压sdk压缩包
mkdir Arcsoft
sudo chmod 777 -R Arcsoft/
cd Arcsoft/
cp ~/share/opencv/ArcSoft_ArcFace_Linux_x64_V3.0.zip ~/Arcsoft/
unzip ArcSoft_ArcFace_Linux_x64_V3.0.zip
创建工程文件夹
mkdir myproject
sudo chmod 777 -R myproject/
cd myproject/
- 从git上下载代码
git clone https://gitee.com/harry12345123/ffmpeg_arc_face-recognize.git
git clone https://gitee.com/harry12345123/FFMPEG_DNN_Project.git
- 更改权限
sudo chmod 777 -R ffmpeg_arc_face-recognize/
sudo chmod 777 -R FFMPEG_DNN_Project/
- 安装sqlite
cp ~/share/ffmpeg/sqlite-autoconf-3380500.tar.gz ./
tar xzvf sqlite-autoconf-3380500.tar.gz
cd sqlite-autoconf-3380500/
sudo ./configure
sudo make
sudo make install
- 复制需要用到的头文件
cp ~/Arcsoft/inc/*.h ~/myproject/ffmpeg_arc_face-recognize/
编译ffmpeg_arc_face-recognize
sudo make
cd ~/Arcsoft/lib/linux_x64/
sudo cp *.so /usr/local/lib/
修改Makefile
-
修改前
-
修改后
- 修改自己的APPID和SDKKEY
sudo gedit asfort_manage.h
./asfort_face_insert ./face_lib/face03.png hhh
- 再次make编译
问题:
解决方法:在Makefile中把库链接进来
-lpostproc
./ffmpeg_camera_asfort
编译FFMPEG_DNN_Project
cd ../FFMPEG_DNN_Project/
sudo make
- 解决方法:在Makefile中把库链接进来
-lpostproc
sudo make
./ffmpeg_camera_thread_demo
四、安装包下载
链接:https://pan.baidu.com/s/1NfUVzWx8tsa8dKpHL4SI2g
提取码:qyn1
五、编译过程中可能会出现的问题的解决方法
- 动态库编译找不到报错的解决方法:https://blog.youkuaiyun.com/hankerbit/article/details/83834349
- 在编译的时候,报错SDL的解决方法:sudo apt-get install libsdl2-dev