2014-01-10 197 views
6

たとえば、 "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov"のようなrtspストリームテストを実行しています(OpenCV - rtspビデオストリームをキャプチャする方法

openCV(opencv 2.4.7/2.4.8)でこのビデオストリームをキャッチしたい 私のコードはローカルのムービーファイルで完璧に動作しますが、rtspをキャプチャしようとするとmsgsのようになります: "できませんでしたムービーファイルのRTSPをお読みください。

CvCapture *camera = cvCreateFileCapture("rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov"); 
if (camera == NULL) { 
printf("video is null, aborting..."); 
return -1; 
} 
else{ 
printf("video ok"); 
} 
://184.72.239.149/vod/mp4:私はのように、いくつかの異なる方法を試してみた

BigBuckBunny_115k.movを」

か:

cv::VideoCapture vcap; 
//open the video stream and make sure it's opened 
if(!vcap.open("rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov")) { 
    std::cout << "Error opening video stream or file" << std::endl; 
    return -1; 
} 

任意のアイデア?

-

Niedved

答えて

8

次のコードは何の問題もなく私のために動作します。ストリームのユーザー名とパスワードをお持ちの場合は、それをURLアドレスに含めることを忘れないでください。

cv::VideoCapture capture(url); 

if (!capture->isOpened()) { 
    //Error 
} 

cv::namedWindow("TEST", CV_WINDOW_AUTOSIZE); 

cv::Mat frame; 

while(m_enable) { 
    if (!capture->read(frame)) { 
     //Error 
    } 
    cv::imshow("TEST", frame); 

    cv::waitKey(30); 
} 
+0

私はVideoCaptureにこのコードを追加し、APIを公開したが、これは、あなたの実行ファイルと同じフォルダにffmpegのDLLを入れました –

+1

が機能していませんか? –

+0

どこを入手するのですか?どこに置くの?私はアンドロイドで試しています。カメラのラッパーライブラリをdlopenすることはできません。 01-05 15:25:06.185:E/OpenCV :: camera(18562):Native_cameraが開きエラーを返しました:4 –

関連する問題