2017-04-04 750 views
1

我想在OpenCV中使用gstreamer pipleine打開一個IP攝像機。 我可以在終端使用的Gstreamer打開IP攝像機,使用:本Gstreamer管道在Opencv videoCapture()

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

您可以複製相同的管道並將其用於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);