opencv+ffmpeg實現avi視頻的播放


配了一天,終於成功的在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", 1);
  cvMoveWindow("video",30,300);

  //顯示視屏
  while(1)
  {
      pFrame=cvQueryFrame( pCapture );
      if(!pFrame)break;
      cvShowImage("video",pFrame);
      char c=cvWaitKey(33);
      if(c==27)break;
  }
  cvReleaseCapture(&pCapture);
  cvDestroyWindow("video");
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM