Qt的Phonon能不能播放视频还在尝试中,总之貌似不太轻松,而在OpenCV中则,很容易,说到底,视频播放就是将一串图片按照一定帧速率显示出来。

int main()

{

    cvNamedWindow("Traffic");


    CvCapture* capture=cvCreateFileCapture("D:/003.avi");

    IplImage* frame=NULL;

    int fps=cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);

    int a=(int)(1000/fps);

    while(frame=cvQueryFrame(capture))

    {

        cvShowImage("Traffic",frame);

        int c=cvWaitKey(a);

        if(c==27)

            break;

    }

    cvReleaseCapture(&capture);

    cvDestroyWindow("Traffic");


    return 0;


}



需要注意的是最后不需要cvReleaseImage(&frame),因为随着capture的释放,frame也被释放了,如果再次释放会导致出错。