视跃realgbs平台与某市交通局TOCC海康的平台进行GB28181级联时,需要将虚拟组织结构先行发送,然后发送其组织结构下的设备与通道依次发送,海康的平台对发送的顺序要求很高,如果先发送通道目录再发送设备目录,在海康的平台上的结构树上无法显示正群的层级关系,所以在发送目录时,对发动目录的排序是十分必要的。
比如我们发送一系列设备和设备下的通道给海康平台,我们要确保父节点在前面,子节点再后面,可以对设备目录进行排序后发送,代码如下:
DevicePtrList::iterator it;
for (it = deviceList.begin(); it != deviceList.end(); it++)
{
if ((*it)->getCatalog().deviceID == device->getCatalog().parentID)
{
break;
}
}
//找不到父节点则放最前面
if (it == deviceList.end())
{
deviceList.push_front(device);
}
else//找到父节点放在父节点的后面
{
it++;
deviceList.insert(it, device);
}
通过以上对设备列表进行排序后,级联推送给海康平台的目录在海康平台上显示的层级正确,如下图:
当然,通过上级级联的海康平台选择任意的推送的设备取流,可以清晰流畅的预览视频流,如下图:
更多信息
e-mail: yujesoft@163.com
tel: 13971177602
web:www.founu.com