我在尝试通过 UDP 捕获原始视频时遇到问题。在我的设置中,我使用 FFmpeg(命令行)通过 UDP 传输网络摄像头,在客户端我使用 Java OpenCV,即捕获线;VideoCapture.open("udp://xx.xx.xx.xx:xx)
如果我使用 mpegts ( ) 发送流ffmpeg -f mpegts
,我可以显示该流,但如果我将其作为 rawvideo ( ffmpeg -f rawvideo
) 发送,则不能。
服务器端:
ffmpeg -f avfoundation -i "0" -pix_fmt yuv420p -tune zerolatency -preset ultrafast -f rawvideo udp://236.0.0.1:2000
客户端(OpenCV Java);
VideoCapture.open("udp://@236.0.0.1:2000");
是否有任何参数需要设置(例如 CvType)?
答案1
我解决了这个问题。我为 UDP 流创建了一个 SDP 文件,并从 open() 方法调用它;
VideoCapture.open("test.sdp");
就这样。