【发布时间】:2020-07-23 00:31:07
【问题描述】:
我意识到,当我使用 OpenCV 在 rtsp url 中抓取视频 (cv2.VideoCapture('rtsp://...')) 时,实际上我得到的是流的每一帧,而不是实时帧。
示例:如果视频具有 30fps 和 10 秒长,如果我获得第一帧并等待 1 秒以获取下一帧,我将获得第 2 帧而不是实时帧(它应该是第 30 帧或31).
我担心这些,因为如果我的代码需要更长的时间来进行视频处理(深度学习卷积),结果总是会延迟而不是实时传递。
当我从 rtsp 捕获时,我如何设法始终获取当前帧?
谢谢!
【问题讨论】:
-
有可能使用抓取和接收功能,但这不适用于所有设备(不确定原因)。通常,最可靠的方法是在单独的线程中运行捕获,以尽可能快地捕获所有帧,并丢弃所有不会被处理的帧。
-
您可以为此使用 Apache Kafka 或 RabbitMQ 等数据摄取工具