1、要先安装ffpmeg

下载地址 http://www.ffmpeg.org/download.html.

这里选择版本3.4.8

直接下载包上传或者linux直接下载

wget http://www.ffmpeg.org/releases/ffmpeg-3.4.8.tar.gz

解压当前包

tar -zxvf ffmpeg-3.4.8.tar.gz
cd ffmpeg-3.4.8/

安装ffmpeg过程中,执行./configure时,报yasm/nasm not found or too old. Use --disable-yasm for a crippledbuild错误,分析、解决如下:

分析:yasm是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报上面错误。

解决:安装yasm编译器或者直接–disable-yasm。安装方法如下:

在http://www.tortall.net/projects/yasm/releases下面找到适合自己平台的yasm版本。然后进行安装。举例如下:

1)下载:

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

2)解压并进入解压目录:

tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0

3)配置:

./configure

4)编译和安装:

make
make install

安装yasm后返回 ffmpeg文件夹下执行编译安装

1) 配置

./configure --enable-shared --prefix=/usr/local/ffmpeg

2) 编译和安装

make
make install

完成之后执行 cd /usr/local/ffmpeg/ 进入安装目录,会有bin,include,lib,share这4个目录。
bin是ffmpeg主程序二进制目录,include是C/C++头文件目录,lib是编译好的库文件目录,share是文档目录。
进入bin目录。
1)查看当前版本的详细信息

./ffmpeg -version

默认情况下一般会报libavdevice.so.57: cannot open shared object file: No such file or directory,原因是lib目录未加载到链接到系统库中,系统ld目录列表在/etc/ld.so.conf中,打开文件会发现,里面引用了/etc/ld.so.conf.d/下面所有的.conf文件,比如mariadb-x86_64.conf.
2)我们只需要创建一个文件并写入lib路径即可

cd /etc/ld.so.conf.d
touch ffmpeg.conf

然后执行命令:

vi /etc/ld.so.conf.d/ffmpeg.conf

然后添加一行内容:

/usr/local/ffmpeg/lib

之后保存并退出
3)然后执行

ldconfig

使配置生效,现在再次执行 ./ffmpeg -version 显示就正常了

还有要配置下环境变量,不然待会安装opencv的时候找不到ffmpeg依赖

vi /etc/profile

添加

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

重启让环境变量生效

source /etc/profile

2、安装opencv

下载地址https://opencv.org/releases/.
这里选择版本4.5.3

1)解压并进入文件夹

unzip opencv-4.5.3.zip
cd opencv-4.5.3

2)新建build文件夹

mkdir build
cd build

3)编译和安装 (注意cmake最后需要写两个点)

cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=ON ..
sudo make -j8
sudo make install

注意在cmake结束后,在输出的靠近最后的地方,看到FFMPEG这里都是YES,就可以进行后面的make了。

FFMPEG:                      YESavcodec:                   YES (ver 56.60.100)avformat:                  YES (ver 56.40.101)avutil:                    YES (ver 54.31.100)swscale:                   YES (ver 3.1.101)avresample:                YES (ver 2.1.0)

注意:以上版本是可以对应的,不要装最新版的ffmpeg,否择安装opencv会报某些方法被删除等错误。!!!!!

如果有装其他版本想要重新安装

1)卸载ffmpeg

cd ffmpeg-xx/
make uninstall  ##删除由make install命令安装的文件
make clean  ##只删除make时产生的临时文件
make distclean  ##同时删除configure和make产生的临时文件

2)删除opencv
跟上述类似
不过还要删掉已安装的opencv的include和lib目录,再删除opencv安装目录

rm -rf /usr/local/include/opencv4 /usr/local/share/opencv4

linux下 opencv 和 ffmpeg安装相关推荐

  1. ubuntu 下 opencv 3. 的安装和运行

    linux 环境下 opencv 3 的安装和运行,要比 Windows visual studio IDE 下的安装配置简单太多. 1. 安装 opencv 所需的库(编译器.必选库.可选库) (1 ...

  2. linux装软件需要root用户,Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  3. linux环境用opencv读取图片,基于Linux下OpenCV的人脸识别模块设计

    金笑雪 张琳琳 高丹 张黎 摘 要: 近年来,图像识别技术正在向更加直观.可靠的方向发展,其中人脸识别技术具有极高的研究价值,应用得也最为广泛.通过对Linux系统下OpenCV的研究,利用OpenC ...

  4. Linux下Memcache服务器端的安装

    Linux下Memcache服务器端的安装 服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 . 下载:http://www.danga.com/memca ...

  5. 第十章 Linux下RPM软件的安装与卸载

    第十章 Linux下RPM软件的安装与卸载 第一节 RPM软件包安装 rpm命名原则 如: vsftpd-3.0.2-9.el7.x86_64.rpm vsftpd 3.0.2 9 e17 x86_6 ...

  6. Linux下oracle 9i图文安装二

    接上期的Linux下oracle 9i图文安装一([url]http://waringid.blog.51cto.com/65148/47655[/url]),下面进行Oracle安装前期准备中的第一 ...

  7. Linux redis安装教程,Linux 下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...

  8. Linux下的网络远程安装

    Linux下的网络远程安装 1.用RHEL6.5光盘安装第一台服务器 2.在第一台服务器上配置YUM服务器 先创建一个挂载 1 #mount 2 #umount /dev/cdrom 3 #mkdir ...

  9. Linux下的docker容器安装教程

    Linux下的docker容器安装教程 一.初始环境配置 1.yum仓库配置 2.检查yum仓库 3.关闭防火墙和selinux 二.开启内核的流量转发 三.安装docker 1.配置docker相关 ...

最新文章

  1. 设置IDEA编辑过程直接通过F5刷新网页就可以实时查看JSP文件更新结果,而非通过重新run
  2. 高山仰止 | “利他主义者”乔治·普莱斯的一生(全文翻译自Independent)
  3. Spring Boot 2.x基础教程:使用MyBatis的XML配置方式
  4. [JS] 动态修改ckPlayer播放器宽度
  5. 深度学习核心技术精讲100篇(二十七)-如何利用NLP技术对ASR的query文本进行预处理纠错?
  6. php读文阻塞,php socket编程 读完成后写阻塞
  7. 职场新鲜人:为什么女生拼不过男生?
  8. linux批量重命名脚本,Linux批量命名文件SH脚本整理
  9. 扫雷游戏网页版_《我的世界》简单的两款小游戏 带你回味和同学在电脑课上的时光...
  10. 文后参考文献著录规则 GB/T 7714-2005
  11. 我只想说“独孤求败”与“东方不败”是不同的!
  12. 【双碳政策】分布式光伏如何进行实时运维监测管理
  13. 什么蓝牙耳机好用又不贵?好用不贵的蓝牙耳机推荐
  14. 数据链路层协议(1)
  15. 第五十七篇 Django-CRM系统-1登录,注册,修改密码
  16. 摄影技能技巧大全 - 太精彩啦,年后弄个单反按着练练!
  17. Web浏览过程中涉及到的协议
  18. win10 docker部署gpu项目
  19. 【学习笔记】VGG 网络结构
  20. 监控 prometheus及其部署及server discovery,alertmanager,grafana(更新结束)

热门文章

  1. redis命令,开发规范以及应用场景
  2. Codeforces - Parking Lot
  3. 狂神说Java的多线程课程总结
  4. eigen向量计算_Eigen之矩阵与向量的乘积
  5. #考试酷#A11_Conditional Expressions
  6. Winform的一款银行管理系统设计
  7. 在Eclipse中反编译Class文件完全详解
  8. 上海迪士尼项目为何保持低调
  9. Android老友记
  10. 在html中写for循环,for循环经典语句