我有10个不同的IP摄像头,我需要访问一个FLASK服务器。我想知道做这件事的最好方法。
目前,我有一个使用ID映射到VideoCapture对象的字典。客户端将摄像头ID发送到服务器,服务器访问视频捕获对象,并通过读取函数返回捕获的帧。
所以从技术上讲,我有10个不同的VideoCapture对象。我使用的另一种方法是,在获取摄像机ID时,如果当前的摄像机ID与接收到的摄像机ID不同,则用新的摄像机ID替换视频帽对象。
我的问题是,一次打开10个视频捕获可以吗?我的服务器应该是时间敏感的。打开10个捕获是否会导致网络拥塞?如果是,那么我是否应该坚持始终在ID更改时创建新对象的单一对象方法,或者是否有更好的方法来做到这一点?谢谢。
发布于 2019-02-28 14:49:31
你使用的第一种方式是OK。对于每个摄像头,您应该保留一个捕获对象。它的工作速度比用多个连接替换一个捕获对象更快。如果您打开RTSP连接,则在您开始读取帧之前,它不会拥塞网络。所以你可以选择第一种方法。
对于多个连接,打开然后释放一个捕获对象会减慢速度,因为在每个新连接中,都需要时间访问摄像头。
https://stackoverflow.com/questions/54919482
复制相似问题