bhua

bhua

0个粉丝

10

问答

0

专栏

2

资料

bhua  发布于  2015-07-13 19:47:47
采纳率 0%
10个问答
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有关的错误,把错误文件的错误所在行用#号屏蔽就好。

以上根据网上资料,以及个人所遇到的问题跟大家分享一下经验,小弟乃菜鸟,高手请放过!

我来回答
回答6个
时间排序
认可量排序

cowboy

0个粉丝

9

问答

0

专栏

5

资料

cowboy 2015-07-14 09:29:35
认可0
ffmpeg+ opencv 你这是要做萨自幺。
mark下 以后可能用得到。

shangeyao

0个粉丝

4

问答

0

专栏

0

资料

shangeyao 2015-07-14 16:14:00
认可0
求楼主联系方式,项目外包,联系我 QQ124521263

ecomsbz

0个粉丝

22

问答

0

专栏

36

资料

ecomsbz 2015-07-14 16:47:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=18079&ptid=8099]shangeyao 发表于 2015-7-14 16:14[/url]
求楼主联系方式,项目外包,联系我 QQ124521263[/quote]

你项目外包就把描述发到论坛上,到处求外包。我能求包养不?

bhua

0个粉丝

10

问答

0

专栏

2

资料

bhua 2015-07-19 13:38:44
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=18057&ptid=8099]cowboy 发表于 2015-7-14 09:29[/url]
ffmpeg+ opencv 你这是要做萨自幺。
mark下 以后可能用得到。[/quote]

做目标跟踪  需要打开视频文件

bhua

0个粉丝

10

问答

0

专栏

2

资料

bhua 2015-12-29 15:51:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=18688&ptid=8099]david 发表于 2015-7-30 22:17[/url]
目标跟踪,跟踪人头?可好[/quote]

好久没上来了  没得回david:lol  可是人头作为目标  距离远的话没发跟踪啊

david

1个粉丝

3

问答

1

专栏

11

资料

david 2015-07-30 22:17:49
认可0
目标跟踪,跟踪人头?可好
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区