我需要在 FLASK 服务器中访问 10 个不同的 IP 摄像机。 我想知道最好的方法。
目前,我有一个使用 ID 映射到 VideoCapture 对象的字典。客户端将摄像头 ID 发送到服务器,服务器访问视频捕获对象并通过读取函数返回捕获的帧。
所以从技术上讲,我有 10 个不同的 VideoCapture 对象。我使用的另一种方法是,在获取摄像头 ID 时,如果当前摄像头 ID 与接收到的摄像头 ID 不同,则视频帽对象将替换为新的。
我的问题是一次打开 10 个视频捕获是否正常?我的服务器应该是时间敏感的。开10个抓包会不会拥塞网络?如果是,那么我应该坚持始终在 ID 更改时创建新对象的单一对象方法,还是有更好的方法来做到这一点?谢谢。
最佳答案
您使用的第一种方式就可以了。对于每一台相机,您应该保留一个捕获对象。它比用多个连接替换一个捕获对象更快。如果您打开 RTSP 连接,那么在您开始读取帧之前它不会拥塞网络。所以你可以选择第一种方式。
为多个连接打开然后释放一个捕获对象会降低速度,因为在每个新连接中都需要时间来访问相机。
关于python - OpenCV 捕获多个 RTSP 流 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54919482/