Opencv videoCapture()中的Gstreamer管道

时间:2017-04-04 09:50:18

标签: opencv gstreamer video-capture pipeline gst-launch

我正在尝试使用gstreamer pipleine在OpenCV中打开IP摄像头。 我可以使用终端中的Gstreamer打开IPcamera,使用:

gst-launch-1.0 -v rtspsrc location="rtsp://192.168.0.220:554/user=admin&password=admin&channel=1&stream=0.sdp?real_stream--rtp-caching=10" latency=10 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! xvimagesink

现在,我可以在OpenCV videoCapture()中打开相同的相机。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以复制相同的管道并在VideoCapture中使用它(如果您使用gstreamer模块构建OpenCV)。

重点是您需要使用appsink元素完成管道。

const char* pipe =  "rtspsrc location=\"rtsp://192.168.0.220:554/user=admin&password=admin&channel=1&stream=0.sdp?real_stream--rtp-caching=10\" latency=10 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! appsink";
VideoCapture cap(pipe);