OpenCV捕获多个RTSP流-Python

时间:2019-02-28 06:13:11

标签: python opencv

我需要在FLASK服务器中访问10个不同的IP摄像机。 我想知道最好的方法。

当前,我有一个字典,该字典使用ID映射到VideoCapture对象。客户端将cam ID发送到服务器,然后服务器访问视频捕获对象,并通过读取功能返回捕获的帧。

所以从技术上讲,我有10个不同的VideoCapture对象。我使用的另一种方法是,在获取摄像机ID时,如果当前凸轮ID与接收到的凸轮ID不同,则将视频帽对象替换为新的视频对象。

我的问题是一次可以打开10个视频捕获吗?我的服务器应该对时间敏感。打开10捕获网络拥塞吗?如果是,那么我应该坚持一种总是在ID更改时创建一个新对象的方法吗?还是有更好的方法呢?谢谢。

1 个答案:

答案 0 :(得分:1)

您使用的第一种方法是确定。对于每个摄像机,应保留一个捕获对象。它比用多个连接替换一个捕获对象要快。如果打开RTSP连接,则在开始读取帧之前它不会使网络拥塞。因此,您可以采用第一种方法。

为多个连接打开然后释放一个捕获对象会减慢速度,因为在每个新连接中都需要时间才能访问相机。