C++ 来自c+的低延迟视频流+;WINDOWS下的opencv应用
在这个主题上有很多问题,但大多数都涉及到不希望使用的协议——HTML5、WebRTC等 基本上,问题可以表述如下:如何在Windows中通过RTSP或MJPEG[AFAIK it’s better for Real Time streaming]流传输我自己的cv::Mat图像?我能找到的几乎所有东西都依赖于Linux操作系统,只是不适用于该项目 FFMPEG的流水线工作正常,但延迟约为10秒。可以使用ffmpeg团队非常喜欢的一些难以理解的长参数列表将时间缩短到3-4秒,但这还不够,因为正在考虑的项目是一个监控应用程序,由活动用户控制摄像头,所以我需要尽可能接近实时 另一个问题是,解决方案不应该吃掉全部内核,因为它们已经被对象跟踪算法超载 提前谢谢你的帮助 编辑:C++ 来自c+的低延迟视频流+;WINDOWS下的opencv应用,c++,windows,opencv,rtsp,mjpeg,C++,Windows,Opencv,Rtsp,Mjpeg,在这个主题上有很多问题,但大多数都涉及到不希望使用的协议——HTML5、WebRTC等 基本上,问题可以表述如下:如何在Windows中通过RTSP或MJPEG[AFAIK it’s better for Real Time streaming]流传输我自己的cv::Mat图像?我能找到的几乎所有东西都依赖于Linux操作系统,只是不适用于该项目 FFMPEG的流水线工作正常,但延迟约为10秒。可以使用ffmpeg团队非常喜欢的一些难以理解的长参数列表将时间缩短到3-4秒,但这还不够,因为正在考
ffmpeg-re-an-f mjpeg-ihttp://..addr.../video.mjpg -vcodec libx264-调优零延迟-f rtprtp://127.0.0.1:1234 -sdp_file stream.sdp
-我用来直接重新传输流的命令,无需任何预处理,在本地主机上,它产生了大约4秒的延迟,首先,您必须找出延迟的来源
延迟有四个基本来源:
如果您使用的是功能强大的GPU,则可以直接在GPU中从backbuffer或帧内缓冲区捕获并编码每个帧。您可以使用ffmpeg发送它 不幸的是,我使用的单板PC上没有离散的GPU图形:(