1. 编译安装ffmpeg

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

2. 下载opencv并设置config

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

  1. cmake -D WITH_CUDA=OFF \
  2. -D CMAKE_BUILD_TYPE=Release \
  3. -D CMAKE_INSTALL_PREFIX=/home/packages/opencv/install \
  4. -D WITH_IPP=OFF \
  5. -D WITH_FFMPEG=ON \
  6. -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
  7. -D BUILD_TESTS=OFF \
  8. -D BUILD_PERF_TESTS=OFF \
  9. -D INSTALL_PYTHON_EXAMPLES=OFF \
  10. -D INSTALL_C_EXAMPLES=OFF \
  11. -D PYTHON_EXECUTABLE=$(which python) \
  12. -D BUILD_EXAMPLES=OFF ..

注意:

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

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

  1. 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

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

否则会出现以下错误

  1. error: CODEC_FLAG_GLOBAL_HEADER was not declared in this scope
  2.  
  3. error: AVFMT_RAWPICTURE was not declared in this scope
  4.  
  5. error: CODEC_FLAG_GLOBAL_HEADER was not declared in this scope
  6.  
  7. for target 'modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.cpp.o' failed
  8. make[]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.cpp.o] Error

Linux下安装opencv with-ffmpeg解决无法读取视频的问题的更多相关文章

  1. Python下的OpenCV学习 01 —— 在Linux下安装OpenCV

    一.OpenCV简要介绍 OpenCV是一个跨平台的计算机视觉库,可以运行在Windows.Linux.MacOS等操作系统上.OpenCV提供了众多语言的接口,其中就包含了Python,Python ...

  2. Linux下安装OpenCV+Python支持

    以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python支持,首先在安装OpenCV前安装必要的组件, ...

  3. Linux下安装opencv模块

    最近微信上流行的给自己的头像加一顶圣诞帽,想用python写一个程序自己实现一下,其中需要用到opencv import cv2 现在记录一下如何在Linux系统(ubutun)下安装该模块: 参考了 ...

  4. 【转】linux下安装opencv

    Installation in Linux These steps have been tested for Ubuntu 10.04 but should work with other distr ...

  5. OpenCV学习一《Linux下安装OpenCV》

    第一步:安装源码前先安装好需要的第三⽅方环境 需要的编译环境■ [compiler] sudo apt-get install build-essential #  注释说明 64位ubuntu在安装 ...

  6. Linux下安装opencv(踩坑记录帖)

    1.首先安装依赖项:sudo apt install build-essential sudo apt install build-essentialsudo apt install cmake gi ...

  7. linux下安装glibc-2.14,解决“`GLIBC_2.14' not found”问题

    下载安装包:http://ftp.gnu.org/gnu/glibc/ 我下载的是glibc-2.14.1.tar.gz 解压:tar xzf glibc-2.14.1.tar.gz cd glibc ...

  8. 在Linux下安装PHP过程中,编译时出现错误的解决办法

    在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...

  9. Linux下安装Android的adb驱动-解决不能识别的问题

    Linux下安装Android的adb驱动-解决不能识别的问题 20141011更新:      老方法对我当时使用的一款设备一直都没有出现问题,最后遇到小米手机还有Android4.4版本的系统都会 ...

随机推荐

  1. Java日志体系(六)log4j2

    1.1 简介 log4j2,一个日志的实现框架,是log4j的升级版本,于2014年7月正式亮相.与第一代log4j不同,log4j2完全重写了log4j的日志实现,并不是在原有基础上进行的升级,解决 ...

  2. mgo连接池

    package main import ( "log" "sync" "time" "gopkg.in/mgo.v2" ...

  3. Ruby On Rails 路径穿越漏洞(CVE-2018-3760)

    Ruby On Rails在开发环境下使用Sprockets作为静态文件服务器,Ruby On Rails是著名Ruby Web开发框架,Sprockets是编译及分发静态资源文件的Ruby库. Sp ...

  4. RNN汇总

    RNN(Recurrent Neural Network)循环神经网络. 对于CNN来说,比如图像处理,它逐渐从局部空间抽象到全局空间,有一种空间层次感,通道可以与空间一起卷积,也可以分开卷积.同时由 ...

  5. TP5模型belongsTo和hasOne这两个方法的区别

    在使用tp5模型的ORM的时候出现belongsTo和hasOne都有表示一对一的关系,但是二者并不相同.以下举例说明两者的区别: 首先有user表 字段 id name password字段 然后有 ...

  6. day23 xml模块、面向对象编程介绍

    今日内容: 1.xml模块 2.面向对象编程 一.xml模块 什么是xml? xml是一种可扩展的标记语言 xml语言的语法: <person name="jack"> ...

  7. POJ1988 Cube Stacking 【并查集】

    题目链接:http://poj.org/problem?id=1988 这题是教练在ACM算法课上讲的一道题,当时有地方没想明白,现在彻底弄懂了. 题目大意:n代表有n个石头,M a, b代表将a石头 ...

  8. 【3.3】mysql中的Federated存储引擎,远程表,相当于sql server的linked server

    MySQL中针对不同的功能需求提供了不同的存储引擎.所谓的存储引擎也就是MySQL下特定接口的具体实现. FEDERATED是其中一个专门针对远程数据库的实现.一般情况下在本地数据库中建表会在数据库目 ...

  9. Web循环监控Java调用 / Java调用.net wcf接口

    背景介紹 (Background Introduction) 目前有一些报表客户抱怨打不开 报表执行过程过长,5.8.10秒甚至更多 不能及时发现和掌握服务器web站点情况 用戶需求(User Req ...

  10. 推荐系统遇上深度学习(十)--GBDT+LR融合方案实战

    推荐系统遇上深度学习(十)--GBDT+LR融合方案实战 0.8012018.05.19 16:17:18字数 2068阅读 22568 推荐系统遇上深度学习系列:推荐系统遇上深度学习(一)--FM模 ...