2015-04-05 235 views
0

有谁知道一个链接,我可以捕获RTSP流来测试视频采集与rtsp视频源?我用usb摄像头和网络摄像头尝试过,但我想用RTSP流测试它。通过RTSP流式传输opencv视频

这里是源:

#include "opencv2/highgui/highgui.hpp" 
#include <iostream> 

using namespace cv; 
using namespace std; 

int main(int argc, char* argv[]) 
{ 
    VideoCapture cap("rtsp:\\ANYTHING,PLEASE"); // open the video file for reading 

    if (!cap.isOpened()) // if not success, exit program 
    { 
     cout << "Cannot open the video file" << endl; 
     return -1; 
    } 

    //cap.set(CV_CAP_PROP_POS_MSEC, 300); //start the video at 300ms 

    double fps = cap.get(CV_CAP_PROP_FPS); //get the frames per seconds of the video 

    cout << "Frame per seconds : " << fps << endl; 

    namedWindow("MyVideo",CV_WINDOW_AUTOSIZE); //create a window called "MyVideo" 

    while(1) 
    { 
     Mat frame; 

     bool bSuccess = cap.read(frame); // read a new frame from video 

     if (!bSuccess) //if not success, break loop 
     { 
         cout << "Cannot read the frame from video file" << endl; 
         break; 
     } 

     imshow("MyVideo", frame); //show the frame in "MyVideo" window 

     if(waitKey(30) == 27) //wait for 'esc' key press for 30 ms. If 'esc' key is pressed, break loop 
     { 
       cout << "esc key is pressed by user" << endl; 
       break; 
     } 
    } 

    return 0; 

} 

回答

1


你可以简单地生成VideoLAN的VLC一个RTSP流。
媒体/流/添加任何视频文件/流/ RTSP添加/端口和路径/视频H.264 + MP3(MP4)/流。
然后,您将获得一个类似rtsp://127.0.0.1:8554/vid的视频流。当然,您可以使用VLC或OpenCV读取该流。
dAAvid

+0

Tnx,尝试了一段时间,它工作正常。我已经设法通过VLC将http流转换为rtsp – 2015-04-24 21:03:57