Ask Your Question

Revision history [back]

Capture a video stream

Hi I try to capture a video stream and I cannot opent it using opencv. First I have try this command (from ffmpeg) with success

ffplay "http://192.168.0.16/videostream.cgi?loginuse=admin&loginpas=123456"

second this command using vlc with success :

vlc "http://192.168.0.16/videostream.cgi?loginuse=admin&loginpas=123456"

and with no success using opencv (with WITH_FFMPEG=true in cmake) new cv::VideoCapture("http://192.168.0.16/videostream.cgi?loginuse=admin&loginpas=123456");

In debugging I can see file cannot be opened at line 201 of cap_ffmpeg.cpp :

    virtual bool open( const char* filename )
{
    icvInitFFMPEG::Init();
    close();

    if( !icvCreateFileCapture_FFMPEG_p )
        return false;
    ffmpegCapture = icvCreateFileCapture_FFMPEG_p( filename );  // ffmpegCapture =0 with my stream
    return ffmpegCapture != 0;
}

So where is my mistake? How can I open this stream? Thanks for yours answers

Capture a video stream

Hi I try to capture a video stream and I cannot opent it using opencv. First I have try this command (from ffmpeg) with success

ffplay "http://192.168.0.16/videostream.cgi?loginuse=admin&loginpas=123456"

with this message :

[mjpeg @ 0000000002bedb40] Format mjpeg detected only with low score of 25, misdetection possible! Input #0, mjpeg, from 'http://192.168.0.16:80/videostream.cgi?loginuse=admin&loginpas=123456': Duration: N/A, bitrate: N/A Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg), 640x480, 25 tbr, 1200k tbn, 25 tbc [swscaler @ 000000000595be40] deprecated pixel format used, make sure you did set range correctly

second this command using vlc with success :

vlc "http://192.168.0.16/videostream.cgi?loginuse=admin&loginpas=123456"

and with no success using opencv (with WITH_FFMPEG=true in cmake) new cv::VideoCapture("http://192.168.0.16/videostream.cgi?loginuse=admin&loginpas=123456");

In debugging I can see file cannot be opened at line 201 of cap_ffmpeg.cpp :

    virtual bool open( const char* filename )
{
    icvInitFFMPEG::Init();
    close();

    if( !icvCreateFileCapture_FFMPEG_p )
        return false;
    ffmpegCapture = icvCreateFileCapture_FFMPEG_p( filename );  // ffmpegCapture =0 with my stream
    return ffmpegCapture != 0;
}

I have check my program with web stream like http://xxxxxxxxx.axiscam.net:8010/mjpg/video.mjpg and it works. So where is my mistake? How can I open this stream? Thanks for yours answers