linux下 opencv 和 ffmpeg安装「建议收藏」

linux下 opencv 和 ffmpeg安装「建议收藏」1、要先安装ffpmeg下载地址http://www.ffmpeg.org/download.html这里选择版本3.4.8直接下载包上传或者linux直接下载wgethttp://www.ffmpeg.org/releases/ffmpeg-3.4.8.tar.gz解压当前包tar-zxvfffmpeg-3.4.8.tar.gzcdffmpeg-3.4.8/安装ffmpeg过程中,执行./configure时,报yasm/nasmnotfoundortooold.U

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、要先安装ffpmeg

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

这里选择版本3.4.8
选择版本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 显示就正常了
linux下 opencv 和 ffmpeg安装「建议收藏」

还有要配置下环境变量,不然待会安装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:                      YES
      avcodec:                   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 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197298.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ServletContextListener作用[通俗易懂]

    ServletContextListener作用[通俗易懂]ServletContext被Servlet程序用来与Web容器通信。例如写日志,转发请求。每一个Web应用程序含有一个Context,被Web应用内的各个程序共享。因为Context可以用来保存资源并且共享,所以我所知道的ServletContext的最大应用是Web缓存—-把不经常更改的内容读入内存,所以服务器响应请求的时候就不需要进行慢速的磁盘I/O了。Serv…

    2022年6月11日
    29
  • mysql存储过程执行_mysql存储过程不执行

    mysql存储过程执行_mysql存储过程不执行查看event是否开启:showvariableslike’%sche%’;将事件计划开启:setglobalevent_scheduler=1;关闭事件任务:alterevente_testONCOMPLETIONPRESERVEDISABLE;开户事件任务:alterevente_testONCOMPLETIONPRESERVEENABLE;简单实例….

    2025年11月4日
    2
  • winform与cefsharp混合开发_历史必修二笔记手写

    winform与cefsharp混合开发_历史必修二笔记手写在上一篇博文《WinForm内置浏览器之CefSharp笔记一》,简单介绍了CefSharp的快速入门。这篇博文接着上篇,主要记录C#如果调用JS中的方法。参照Github示例:传送门加载自定义网页修改网址,使用ChromiumWebBrowser类的Load方法,直接直接输入网址,也可以加载本地的html文件。m_chromeBrowser.Load(“https://www….

    2022年9月19日
    2
  • 读取金税盘数据库_一种基于金税盘控制系统登录和数据同步的方法与流程

    读取金税盘数据库_一种基于金税盘控制系统登录和数据同步的方法与流程本发明涉及税务开票领域,更具体地,涉及一种基于金税盘控制系统登录和数据同步的方法。背景技术:在以往的增值税销方开票操作中,销方用户在执行开票操作时,往往会出现当前用户信息与所使用的金税盘信息不匹配的情况,从而导致开票失败,需要调整用户数据或者更换金税盘。另外,系统中缺少对用户使用的金税盘数据的收集,无法有效的管理记录金税盘的使用情况,而且销方用户对应的库存信息和发票信息也存在数据不全的情况。技术实…

    2022年4月30日
    74
  • Apache和Nginx有什么区别

    Apache和Nginx有什么区别Apache和Nginx最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;而nginx是异步的,多个连接(万级别)可以对应一个进程。区别:Apacheapache的rewrite比nginx强大,在rewrite频繁的情况下,用apacheapache模块多apache更为成熟,少bugapache超稳定apache对PHP支持比较交单,nginx需要配合其他后端用apche在处理动态请求有优势,nginx在这方面是鸡肋,一般动态请求用apache去做,nginx适合静态

    2022年5月7日
    36
  • vue分页组件

    vue分页组件/***分页组件*/<template><divclass=”pagination”><ulclass=”pagerclear”@click=”onPage”><li:class=”{disabled:page<=1}”:aria-disabled=”page<=

    2022年10月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号