【发布时间】:2017-11-14 08:48:54
【问题描述】:
关于这个话题有很多问题,但大多数都涉及到使用不受欢迎的协议——HTML5、WebRTC 等。
基本上,问题可以表述如下:如何在 Windows 中通过 RTSP 或 MJPEG [AFAIK 它更适合实时流] 流传输我自己的 cv::Mat 图像?我能找到的几乎所有东西都依赖于 Linux 操作系统,只是不适用于该项目。
FFMPEG 的流水线有点工作,但延迟大约是 10 秒。可以使用一些 -incomprehensibly-long-parameter-list-that-ffmpeg-team-loves-so-much 将其缩短到 3-4 秒,但这还不够,因为正在考虑的项目是一个具有活跃用户的监控应用程序控制相机,所以我需要尽可能接近实时。
另一个问题是解决方案不应该吃掉所有的核心,因为它们已经被对象跟踪算法超载了。
提前感谢您的帮助!
编辑:
ffmpeg -re -an -f mjpeg -i http://..addr.../video.mjpg -vcodec libx264 -tune zerolatency -f rtp rtp://127.0.0.1:1234 -sdp_file stream.sdp - 我用来直接重新翻译流而不进行任何预处理的命令,它产生了大约 4 秒的延迟在本地主机上。
【问题讨论】:
标签: c++ windows opencv rtsp mjpeg