配了一天,终于成功的在ubuntu上安装了ffmpeg,实现了opencv对avi文件的读取。

在CvCapture* pCapture=cvCaptureFromAVI("video.avi")语句中pCapture总是返回null。这是因为没有安装编解码器。

ffmpeg的安装:

1.下载源文件(以ffmpeg1.2.1为例):

http://ffmpeg.org/ffmpeg-1.2.1.tar.bz2

2.解压:tar xvjf ffmpeg-1.2.1.tar.bz2

3.配置ffmpeg:

./config --enable-shared --prefix=/usr 注意路径一定要是/usr

4.make

5.sudo make install

6.在/usr/include下

sudo mkdir ffmpeg

7.cp -r libav* libsw* ffmpeg  因为opencv config在这里检查是否安装ffmpeg

然后就可以安装opencv了。在cmake的时候,看ffmpeg是否等于YES。

源码:

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std; int main()
{
//声明IplImage指针
IplImage* pFrame ; //获取摄像头和视频
// CvCapture* pCapture = cvCreateCameraCapture(-1);  //读取摄像头
CvCapture* pCapture=cvCaptureFromAVI("video.avi");
if (pCapture==NULL)
cout<<"pcapture"<<endl; //创建窗口
cvNamedWindow("video", );
cvMoveWindow("video",,); //显示视屏
while()
{
pFrame=cvQueryFrame( pCapture );
if(!pFrame)break;
cvShowImage("video",pFrame);
char c=cvWaitKey();
if(c==)break;
}
cvReleaseCapture(&pCapture);
cvDestroyWindow("video");
}

opencv+ffmpeg实现avi视频的播放的更多相关文章

  1. 解决opencv无法读AVI视频的问题

    原文来自:http://blog.csdn.net/yeqiu712/article/details/6220030 其实AVI只是一个外壳.里面的东西可不一样的! 问题:为什么我的电脑支持AVI或者 ...

  2. DShow实现一个avi视频的播放(含有个人解释和注释)

    此项目为win32下的控制台C++代码(别忘记配置DShow库) // movie_test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" ...

  3. OpenCV学习 2:播放AVI视频

    原创文章,欢迎转载,转载请注明出处 第二个程序,播放视频.用opencv做起来是如此的简单..哈哈.           学Opencv,只是为了在它的基础上实现工程应用,而它里面高深的理论我等屌丝只 ...

  4. 1.0.1-学习Opencv与MFC混合编程之---播放AVI视频

    资源源代码:http://download.csdn.net/detail/nuptboyzhb/3961639 版本1.0.1新增内容 Ø  新建菜单项,Learning OpenCV——> ...

  5. OpenCV学习:播放avi视频文件

    #if 0 //播放avi视频文件(IplImage) #include <opencv2/opencv.hpp> using namespace std; #pragma comment ...

  6. OpenCV 入门示例之二:播放 AVI 视频

    前言 本文展示一个播放 AVI 视频的程序.( 呵呵是 AVI 视频不是 AV 视频噢! ) 代码示例 // 此头文件包含图像IO函数的声明 #include "highgui.h" ...

  7. opencv播放不了AVI视频的问题

    有些avi视频的编码可能不是Cinepak Codec by Radius编码格式的,需要转换成这种格式. 我用的是swf转avi视频,在转变换时----->设置---->AVI视频设置- ...

  8. OpenCV视频读取播放,视频转换为图片

    转载请注明出处!!! http://blog.csdn.net/zhonghuan1992 OpenCV视频读取播放,视频转换为图片 介绍几个有关视频读取的函数: VideoCapture::Vide ...

  9. 基于jsmpeg库下使用ffmpeg创建视频流连接websocket中继器传输视频并播放

    这个功能的基本工作是这样的: 1.使用node运行jsmpeg库下的websocket-relay.js文件,这个文件的作用是创建一个websocket视频传输中继器 2.运行ffmpeg,将输出发送 ...

随机推荐

  1. JavaWeb 6 Http

    6 Http 2 Http协议入门        2.1 什么是http协议                http协议: 对浏览器客户端 和  服务器端 之间数据传输的格式规范 2.2 查看http ...

  2. MYSQL 编码方式 ------导入 .sql 文件 报编码错误

    在做计量泵上位机时,利用MYSQL存储数据,建表hisruninfo(计量泵历史运行数据表). 表格式为utf8,查过数据库 格式 同样为utf8 导入该hisruninfo.sql文件时,并没有报错 ...

  3. 【转】loading 三种实现方式

    转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872 一.通过动画实现 定义res/anim/loading.xml如 ...

  4. DedeCMSV57数据库结构文档

        表名:dede_addonarticle(ENGINE=MyISAM/CHARSET=gbk) 说明:Top 字段名 说明描述 具体参数 aid 文章ID mediumint(8) unsig ...

  5. 日期操作类--GregorianCalendar类

    GregorianCalendar--API JavaTM Platform Standard Ed. 6 GregorianCalendar类 Calendar类实现了公历日历,GregorianC ...

  6. [saiku] 将saiku自带的H2嵌入式数据库迁移到本地mysql数据库

    saiku数据库的表和用户默认创建是在启动项目的时候,通过初始化 saiku-beans.xml 中的 h2database 这个 bean 执行org.saiku.service.Database类 ...

  7. nodeschool.io 7

    ~~ HTTP CLIENT ~~ Write a program that performs an HTTP GET request to a URL provided toyou as the f ...

  8. CentOS6.5配置python开发环境之一:CentOS图形化界面显示

    这两天在配置centos系统下python的开发环境和工具. 刚用centos,做做记录可以方便以后有需要的人...查资料确实挺麻烦的 centos6.5 sublime3 python27 subl ...

  9. BeautifulSoup 常用方法

    #输出所得标签的‘’属性值 获取 head里面的第一个meta的content值 soup.head.meta['content'] 获取第一个span的内容 soup.span.string 获取第 ...

  10. (22)odoo 安装旧模块报错处理

    一些老版本的模块没有得到升级,所以经常碰到模块无法安装的问题. No module name osv 将模块的 from osv import osv,fields 改为 from openerp.o ...