繁体   English   中英

捕获和播放MJPEG-使用OpenCV和ffmpeg通过UDP传输网络视频流

[英]Capture and play MJPEG - Network Video stream over UDP with OpenCV and ffmpeg

我正在尝试接收和显示udp实时mjpeg-来自网络摄像头的网络视频流。 通过使用参数--demux=mjpeg启动VLC,然后在网络流字段中键入udp://@:1234 ,可以播放视频流。 或通过控制台行使用gstreamer: gst-launch -v udpsrc port=1234 ! jpegdec ! autovideosink gst-launch -v udpsrc port=1234 ! jpegdec ! autovideosink gst-launch -v udpsrc port=1234 ! jpegdec ! autovideosink 我的Cam的IP地址为192.168.1.2 ,它将流发送到地址192.168.1.1:1234

我试图用OpenCV捕获流:

cv::VideoCapture cap;
cap.open("udp://@192.168.1.1:1234");

我也尝试过:

cap.open("udp://@:1234")

cap.open("udp://@localhost:1234")

cap.open("udp://192.168.1.1:1234")

cap.open("udp://192.168.1.1:1234/")

但是该函数将一直挂起,直到我按ctrl+C为止。 当我将ffmpeg与以下内容一起使用时,我会遇到相同的问题: ffmpeg -i udp://@192.168.1.1:1234 -vcodec mjpeg

我做错了什么? 当我安装ffmpeg时,我无法安装依赖项libsdl1.2-dev 那是问题吗?

如果是这样,有什么方法可以从套接字读取udp帧,然后解码JPEG图片并用OpenCV显示它?

我有Freescale linaro oneiric 11.10操作系统和Freescale内核3.0.35

不管怎么说,还是要谢谢你。 我通过安装较新版本的ffmpeg并使用ffmpeg的C-Api解决了此问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM