gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 23:18:10 29 4
gpt4 key购买 nike

我正在尝试接收和显示来自网络摄像头的 udp live mjpeg - 网络视频流。我可以通过使用参数 --demux=mjpeg 启动 VLC 然后在网络流字段中键入 udp://@:1234 来播放视频流。或者通过控制台行使用 gstreamer:gst-launch -v udpsrc port=1234 ! jpeg解码器!自动视频接收器。我的摄像头的 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显示?

我的操作系统是 Ubuntu linaro oneiric 11.10,内核是 Freescale 的 3.0.35

最佳答案

谢谢。我已经通过安装更新​​版本的 ffmpeg 并使用 ffmpeg 的 C-Api 解决了这个问题

关于c++ - 捕获和播放 MJPEG - 使用 OpenCV 和 ffmpeg 通过 UDP 传输网络视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35631287/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com