Opencv videoCapture() 中的 Gstreamer 管道
Gstreamer pipeline in Opencv videoCapture()
我正在尝试使用 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()
。
感谢任何帮助。
您可以复制相同的管道并在 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);
我正在尝试使用 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()
。
感谢任何帮助。
您可以复制相同的管道并在 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);