I'm trying to get working OpenCV with GStreamer to get IP camera rtsp stream. But it is giving error which is (with opencv-master branch, Gstreamer 1.2.4, Raspbian 3.18.7-v7+:

GStreamer Plugin: Embedded video playback halted; module typefind reported: Could not determine type of stream.
OpenCV Error: Unspecified error (GStreamer: unable to start pipeline) in cvCaptureFromCAM_GStreamer, file in /opt/opencv/modules/videoio/src/cap_gstreamer.cpp, line773
terminate called after throwing an instance of 'cv::Exception'
  what(): /opt/opencv/modules/videoio/src/cap_gstreamer.cpp:773: error: (-2) GStreamer: unable to start pipeline
 in function cvCaptureFromCAM_GStreamer


and also it has given the same error with opencv-2.4.10. I'm getting stream with omxplayer and gst-launch-1.0 (frames rotated 180 degrees why I don't know) and also getting stream with OpenCV with FFMPEG but its H264 is not decoding video correctly. Images are distortioning continuously like this. I can open streams with Raspberry Pi 1 with GStreamer but it's too slow approximately 1/30 fps. Code;

const string Address = "rtsp://user:password@xxx.xxx.xxx.xxx:xxx/cam/realmonitor?channel=1&subtype=0";
int main () {
  cv::VideoCapture video;
  cv::Mat im;
  while (video.isOpened()) {
    video >> im;
    if (!im.data) break;
    if (cv::waitKey(30) >= 0) break;
  return 0;

Why GStreamer is not working with OpenCV ?


  • 1
    I've compiled gstreamer-1.4.5 and it's working correctly with opencv from raspberry pi but when compiled and installed gstreamer/ we must define the PKG_CONFIG_PATH, LD_LIBRARY_PATH then starts to compile for gst-ocr (if wanted) -> gst-plugins-base (when installed, we need to define GST_PLUGIN_PATH) -> gst-plugins-good -> gst-plugins-ugly -> gst-plugins-bad -> gst-omx (when installed, define GST_OMX_CONFIG_DIR=${install-dir}/etc/xdg). Now playing rtsp without rotation and working with opencv but still slow so I don't know will opencv give gstreamer with omx support or also is giving? – Orkun Kasapoglu Feb 17 '15 at 14:54

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.