IPC还是NVR


开1路通道

开4路通道 (1,2,3,4)

IPC


NVR

关闭之前已经开启的所有通道数再进行开通道

关通道成功?

记录设备uid 和通道号和码流类型加入关流线程队列

开对应通道的流

成功TRUE(所有的都关成功)

End

关流线程

关流表里是否存在记录

key-uid

value-通道号字符串/通道号数组

开始调用设备关流接口

睡眠2s

false

没有记录

移除字典里对应的uid 和通道号

睡眠1s/500ms?

关流成功

handle是否存在

false handle不存在

设备掉线

切换通道

请求超时

流回调里面uid 与当前选中的设备uid判断

每隔1s 进行一次 检查 这里不能一直加锁

如果存在与当前选中的uid不同的uid

则加入关流队列

false

True

关流失败

???


调用关流接口 客户端库会在消息封装成功 发送消息给设备端的时候 返回给

app端success 结果 并把handle 句柄 对应的节点清理 就算设备端还有流 也不会返回给

app端了 所以调用接口只用判断设备端上层的resultcode

TRUE

通过uid 取handle

失败FALSE

(存在通道关失败)

数组队列[<uid-channel-streamtype>]



选择设备开流问题

选择设备开流问题

2019-06-17 15:25:50 0 117
这里是评论

相关推荐