大家好,又见面了,我是你们的朋友全栈君。
1、要先安装ffpmeg
下载地址 http://www.ffmpeg.org/download.html.
这里选择版本3.4.8
直接下载包上传或者linux直接下载
代码语言:javascript复制wget http://www.ffmpeg.org/releases/ffmpeg-3.4.8.tar.gz
解压当前包
代码语言:javascript复制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)下载:
代码语言:javascript复制wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
2)解压并进入解压目录:
代码语言:javascript复制tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
3)配置:
代码语言:javascript复制./configure
4)编译和安装:
代码语言:javascript复制make
make install
安装yasm后返回 ffmpeg文件夹下执行编译安装
1) 配置
代码语言:javascript复制./configure --enable-shared --prefix=/usr/local/ffmpeg
2) 编译和安装
代码语言:javascript复制make
make install
完成之后执行 cd /usr/local/ffmpeg/ 进入安装目录,会有bin,include,lib,share这4个目录。 bin是ffmpeg主程序二进制目录,include是C/C 头文件目录,lib是编译好的库文件目录,share是文档目录。 进入bin目录。 1)查看当前版本的详细信息
代码语言:javascript复制./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路径即可
代码语言:javascript复制cd /etc/ld.so.conf.d
touch ffmpeg.conf
然后执行命令:
代码语言:javascript复制vi /etc/ld.so.conf.d/ffmpeg.conf
然后添加一行内容:
代码语言:javascript复制/usr/local/ffmpeg/lib
之后保存并退出 3)然后执行
代码语言:javascript复制ldconfig
使配置生效,现在再次执行 ./ffmpeg -version 显示就正常了
还有要配置下环境变量,不然待会安装opencv的时候找不到ffmpeg依赖
代码语言:javascript复制vi /etc/profile
添加
代码语言:javascript复制export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig
重启让环境变量生效
代码语言:javascript复制source /etc/profile
2、安装opencv
下载地址https://opencv.org/releases/. 这里选择版本4.5.3
1)解压并进入文件夹
代码语言:javascript复制unzip opencv-4.5.3.zip
cd opencv-4.5.3
2)新建build文件夹
代码语言:javascript复制mkdir build
cd build
3)编译和安装 (注意cmake最后需要写两个点)
代码语言:javascript复制cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=ON ..
sudo make -j8
sudo make install
注意在cmake结束后,在输出的靠近最后的地方,看到FFMPEG这里都是YES,就可以进行后面的make了。
代码语言:javascript复制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
代码语言:javascript复制cd ffmpeg-xx/
make uninstall ##删除由make install命令安装的文件
make clean ##只删除make时产生的临时文件
make distclean ##同时删除configure和make产生的临时文件
2)删除opencv 跟上述类似 不过还要删掉已安装的opencv的include和lib目录,再删除opencv安装目录
代码语言:javascript复制rm -rf /usr/local/include/opencv4 /usr/local/share/opencv4
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197298.html原文链接:https://javaforall.cn