OpenCV 捕获多个 RTSP 流 - Python
Posted
技术标签:
【中文标题】OpenCV 捕获多个 RTSP 流 - Python【英文标题】:OpenCV Capturing multiple RTSP Streams - Python 【发布时间】:2019-02-28 06:13:11 【问题描述】:我需要在 FLASK 服务器中访问 10 个不同的 IP 摄像机。 我想知道最好的方法。
目前,我有一个字典,它使用 ID 映射到 VideoCapture 对象。客户端发送cam ID给服务端,服务端访问视频捕获对象,通过read函数返回一个捕获的帧。
所以从技术上讲,我有 10 个不同的 VideoCapture 对象。我使用的另一种方法是,在获取摄像头 ID 后,如果当前摄像头 ID 与接收到的摄像头 ID 不同,则将视频盖对象替换为新的。
我的问题是一次打开 10 个视频捕获好吗?我的服务器应该是时间敏感的。打开 10 个捕获是否会导致网络拥塞?如果是,那么我应该坚持始终在 ID 更改时创建新对象的单一对象方法,还是有更好的方法来做到这一点?谢谢。
【问题讨论】:
【参考方案1】:您使用的第一种方式是可以的。对于每台摄像机,您应该保留一个捕获对象。它比用多个连接替换一个捕获对象更快。如果您打开 RTSP 连接,那么在您开始阅读帧之前它不会拥塞网络。所以你可以选择第一种方式。
为多个连接打开然后释放一个捕获对象会降低速度,因为在每个新连接中都需要时间来访问相机。
【讨论】:
以上是关于OpenCV 捕获多个 RTSP 流 - Python的主要内容,如果未能解决你的问题,请参考以下文章