1. 编译安装ffmpeg

下载源码,执行 ./configure --disable-yasm --enbale-shared --prefix=/usr/local/ffmpeg 即可。

2. 下载opencv并设置config

下载源码,并 git checkout 3.1.0,也可以是其他版本

cmake -D WITH_CUDA=OFF \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/home/packages/opencv/install \
-D WITH_IPP=OFF \
-D WITH_FFMPEG=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D INSTALL_C_EXAMPLES=OFF \
-D PYTHON_EXECUTABLE=$(which python) \
-D BUILD_EXAMPLES=OFF ..

注意:

(1) 需要指定ffmpeg安装目录便于cmake找到, 否则会出现lib库找不到的问题,使得始终 FFMPEG:NO

https://blog.csdn.net/yangzhenzhen/article/details/62417021

export PKG_CONFIG_PATH=/home/packages/ffmpeg/lib/pkgconfig;$PKG_CONFIG_PATH

(2)设置ffmpeg的include路径到 bashrc文件中,并在ffmpeg/include目录下创建ffmpeg文件夹,将所有头文件拷到ffmpeg下,注意是拷贝文件不是文件夹。

(3)修改opencv中 modules/videoio/src/cap_ffmpeg_impl.hpp 代码,在最顶端添加宏定义

https://blog.csdn.net/guo_lei_lamant/article/details/81568346

#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020

否则会出现以下错误

error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope

error: ‘AVFMT_RAWPICTURE’ was not declared in this scope

error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope

for target 'modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.cpp.o' failed
make[]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.cpp.o] Error

最新文章

  1. 万全R630服务器组装RAID5阵列
  2. 出现异常:Unsupported major.minor version
  3. Hibernate一对一关系映射
  4. DOS运行命令
  5. 【LINUX/UNIX网络编程】之使用消息队列,信号量和命名管道实现的多进程服务器(多人群聊系统)
  6. linux安装ruby
  7. Handsontable 学习笔记-Methods
  8. C# 目录与文件管理
  9. 浅析门户网站体育赛事CDN加速解决方案
  10. lvs+keepalived+nginx+tomcat
  11. jQuery来源学习笔记:扩展的实用功能
  12. [SDOI 2015]序列统计
  13. 详解Python变量在内存中的存储
  14. python 全栈开发,Day48(标准文档流,块级元素和行内元素,浮动,margin的用法,文本属性和字体属性)
  15. 怎么把html页面中共用的底部代码做成共享模块
  16. [Big Data - Kafka] Kafka剖析(一):Kafka背景及架构介绍
  17. asp.net MVC之Action过滤器浅析
  18. Android 视频缩放/放大
  19. linux shell 修改文本 sed
  20. 【[SDOI2013]泉】

热门文章

  1. redis报错解决
  2. nRF5 SDK Bootloader and DFU moudles(1)
  3. python录音并调用百度语音识别接口
  4. Tei-Wei Kuo
  5. c++面向对象程序设计第四章课后习题
  6. [转帖]如何在Linux上使用命令行查看硬件信息
  7. redis 慢查询、Pipeline
  8. 初学SpringBoot遇到的坑和笔记
  9. 2019年9月训练(壹)数位DP (HDU 2089)
  10. c++学习笔记之类模板