- 收藏
- 点赞
- 分享
- 举报
ubuntu10.04下gtk+ffmpeg+opencv安装及错误解决方法
系统:ubuntu10.04 版本:gtk2.20.1 opencv2.4.9 ffmpeg0.8.10 gcc4.4.3
安装过程参考了多位大神的方法,感谢他们的分享!
一、 安装gtk 这部分安装主要参考:http://www.cnblogs.com/niocai/archive/2011/07/15/2107472.html 按照上面地址的教程,顺利的完成了gtk的安装,每完成一项安装应该对此部分进行测试,看看这软件能够正确运行没有,免得后面出错都不知道在哪。
二、 安装ffmpeg 这部分主要参考:http://www.cnblogs.com/lidabo/p/3987378.html
(1)删除已安装的文件,避免冲突 sudo apt-get remove ffmpeg x264 sudo apt-get autoremove
(2)安装需要的支持 sudo apt-get install make automake g++ bzip2 python unzip patch subversion ruby build-essential git-core checkinstall yasm texi2html libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvdpau-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev (3)安装 x264 (自己选择是否安装) x264 依赖于yasm,而且版本较高。 sudo git clone git://git.videolan.org/x264.git cd x264 sudo ./configure --enable-shared --prefix=/usr/local sudo make sudo make install
若出现下列错误:
Found no assembler(或者显示你已经安装的一个较低级的版本的版本号) Minimum version is yasm-0.6.2(说是支持你当前系统的最新版本吧 我的跟这个不同,具体多少不记得了) If you really want to compile without asm, configure with --disable-asm.
解决办法:
需安装 yasm
wget http://www.tortall.net/projects/yasm/releases/yasm-1.0.0.tar.gz
tar -zxvf yasm-1.0.0.tar.gz cd yasm-1.0.0
./configure --prefix=/usr --enable-shared
make
make install
(4)安装libvpx (自己选择是否安装) libvp是开源的VP8解码器,属于webM的项目。 sudo wget http://webm.googlecode.com/files/libvpx-v0.9.7-p1.tar.bz2 sudo tar xvjf libvpx-v0.9.7-p1.tar.bz2 cd libvpx-v0.9.7-p1 sudo ./configure --enable-shared --prefix=/usr/local sudo make sudo make install cd .. (5)安装FFMPEG sudo wget http://ffmpeg.org/releases/ffmpeg-0.8.10.tar.bz2 sudo tar xvjf ffmpeg-0.8.10.tar.bz2 cd ffmpeg-0.8.10
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-shared --prefix=/usr/local (我选择了默认安装 ./configure) sudo make sudo make install 安装完ffmpeg一定要测试下ffmpeg有没有装好,我在后来opencv配置过程中配置项ffmpeg为yes 但是make在ffmpeg处出错就是没有确认而发生了悲剧,老是make不过去。还有就是不要贪图版本新,盲目追求新版本容易遇到一些莫名的错误,那样就更悲剧了,之前看到网上有大神说OpenCV2.3.1 以及之前的版本需要 ffmpeg 0.7.x.及一下,大量出现: /usr/local/OpenCV/OpenCV2.0.0/src/highgui/cvcap_ffmpeg.cpp:883:70: 错误: ‘CODEC_TYPE_VIDEO’在此作用域中尚未声明” 这样的错误就应该是此类错误,在此提醒一下。
测试如下: 输入 ffmpeg –v 或者 ffplay –v 若打印出信息如下: work@ubuntu:~$ ffmpeg -version ffmpeg version 0.8.10, Copyright (c) 2000-2011 the FFmpeg developers built on Jul 12 2015 19:34:03 with gcc 4.4.3 configuration: libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 8. 0 / 53. 8. 0 libavformat 53. 5. 0 / 53. 5. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 ffmpeg 0.8.10 libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 8. 0 / 53. 8. 0 libavformat 53. 5. 0 / 53. 5. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 则说明已经成功安装好 也可以测试一下播放视频:ffplay sample.avi
可能出错的地方: 报错信息如下: ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory 解决办法,如下: vi /etc/ld.so.conf 加入:/usr/local/lib 退出vi 然后执行 ldconfig
三、 安装opencv 安装opencv2.4.9主要参考:http://m.blog.csdn.net/blog/u010807480/39078251 前面ffmpeg装好了基本没什么问题。
此部分可能出现的错误: 情形1:配置时ffmpeg选项no 打开config.log搜索ffmpeg找到如下错误: /usr/include/libavutil/common.h: In function ‘int32_t av_clipl_int32(int64_t)‘: /usr/include/libavutil/common.h:154:47: error: ‘UINT64_C‘ was not declared in this scope make: *** [out/Release/obj.target/geni/ffmpeg_stubs.o] Error 1 解决办法: 在文件/usr/local/include/libavutil/common.h(当然,也许你的路径可能不同,不过错误提示的前面会告诉你在哪个文件出错)开头宏定义处添加
ifndef UINT64_C
define UINT64_C(value)__CONCAT(value,ULL)
endif
需要注意的是在终端打印出来的只是ffmpeg有没有配置上,看不到具体错误所在,需要打开config.log搜索ffmpeg来找错误。 情形2:具体错误不记得了,反正就是cmake到大概76%的地方出现有个跟MD5有关的错误,把错误文件的错误所在行用#号屏蔽就好。
以上根据网上资料,以及个人所遇到的问题跟大家分享一下经验,小弟乃菜鸟,高手请放过!
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
-
2015-01-27 13:42:24
-
2012-12-24 14:38:14
-
2015-09-09 11:58:12
-
2018-12-16 10:31:19
-
2016-02-17 11:22:25
-
2014-10-24 19:34:33
-
2015-08-10 11:21:54
-
2016-03-25 02:21:12
-
2013-11-28 22:19:21
-
2017-09-12 12:04:27
-
2015-08-09 10:10:29
-
2015-03-14 10:55:11
-
2017-04-22 22:34:42
-
2020-11-17 16:51:47
-
2021-03-01 16:04:30
-
2010-01-25 14:03:23
-
2020-03-26 16:28:13
-
2015-11-26 22:01:51
-
2013-02-21 16:18:55
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明