3879
- 收藏
- 点赞
- 分享
- 举报
ubuntu10.04下gtk+ffmpeg+opencv安装及错误解决方法
系统:ubuntu10.04
版本:gtk2.20.1 opencv2.4.9 ffmpeg0.8.10 gcc4.4.3
安装过程参考了多位大神的方法,感谢他们的分享!
一、 安装gtk
这部分安装主要参考:[url]http://www.cnblogs.com/niocai/archive/2011/07/15/2107472.html[/url]
按照上面地址的教程,顺利的完成了gtk的安装,每完成一项安装应该对此部分进行测试,看看这软件能够正确运行没有,免得后面出错都不知道在哪。
二、 安装ffmpeg
这部分主要参考:[url]http://www.cnblogs.com/lidabo/p/3987378.html[/url]
(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 [url]http://www.tortall.net/projects/yasm/releases/yasm-1.0.0.tar.gz[/url]
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 [url]http://webm.googlecode.com/files/libvpx-v0.9.7-p1.tar.bz2[/url]
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 [url]http://ffmpeg.org/releases/ffmpeg-0.8.10.tar.bz2[/url]
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主要参考:[url]http://m.blog.csdn.net/blog/u010807480/39078251[/url]
前面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有关的错误,把错误文件的错误所在行用#号屏蔽就好。
以上根据网上资料,以及个人所遇到的问题跟大家分享一下经验,小弟乃菜鸟,高手请放过!
版本:gtk2.20.1 opencv2.4.9 ffmpeg0.8.10 gcc4.4.3
安装过程参考了多位大神的方法,感谢他们的分享!
一、 安装gtk
这部分安装主要参考:[url]http://www.cnblogs.com/niocai/archive/2011/07/15/2107472.html[/url]
按照上面地址的教程,顺利的完成了gtk的安装,每完成一项安装应该对此部分进行测试,看看这软件能够正确运行没有,免得后面出错都不知道在哪。
二、 安装ffmpeg
这部分主要参考:[url]http://www.cnblogs.com/lidabo/p/3987378.html[/url]
(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 [url]http://www.tortall.net/projects/yasm/releases/yasm-1.0.0.tar.gz[/url]
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 [url]http://webm.googlecode.com/files/libvpx-v0.9.7-p1.tar.bz2[/url]
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 [url]http://ffmpeg.org/releases/ffmpeg-0.8.10.tar.bz2[/url]
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主要参考:[url]http://m.blog.csdn.net/blog/u010807480/39078251[/url]
前面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有关的错误,把错误文件的错误所在行用#号屏蔽就好。
以上根据网上资料,以及个人所遇到的问题跟大家分享一下经验,小弟乃菜鸟,高手请放过!
我来回答
回答6个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2015-01-27 13:42:24
-
2012-12-24 14:38:14
-
2015-09-09 11:58:12
-
2014-10-24 19:34:33
-
2018-12-16 10:31:19
-
2016-02-17 11:22:25
-
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
-
2016-06-22 12:44:35
-
2015-11-26 22:01:51
-
2017-04-22 22:34:42
-
2015-07-31 19:36:12
-
2013-01-18 16:39:16
-
2019-03-16 17:29:40
-
2013-02-21 16:18:55
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认