我正在尝试使用此管道在 Raspberry Pi 中打开 UDP 流视频:
VideoCapture video("udpsrc port=5600 ! application/x-rtp,payload=96,encoding-name=H264 !"
"rtpjitterbuffer mode=1 ! rtph264depay ! h264parse ! decodebin ! videoconvert ! appsink emit-signals=true sync=false max-buffers=2 drop=true", cv::CAP_GSTREAMER);
// Exit if video is not opened
if(!video.isOpened())
{
cout << "Could not read video file" << endl;
return 1;
}
但是,video.isOpened()
返回 false 并且我无法使用此代码打开。这适用于环回测试和另一台 Ubuntu 18.04 PC,但 RPi 4(Buster OS)无法运行它。以下行也可以运行即将推出的 gstream 视频:
gst-launch-1.0 udpsrc port=5600 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink fps-update-interval=1000 sync=false
此外,特定的代码堆栈(例如 [video_udp.cpp][1])可以轻松处理视频,但也很难与 opencv 一起使用。
注意:OpenCV 版本是 4.2.0-pre