标签 相机优先级控制 下的文章

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/38/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


介绍

      "相机控制"指云台转动,图像变倍,聚焦,光圈控制,预置位控制,3D定位,ptz设置与获取,快门,增益,白平衡控制,亮度,色度,对比度,清晰度控制;
      "相机控制"因一个客户端的控制会影响其他客户端的图像观看和其他业务(比如大领导正在看,突然被其他用户给转了下相机)为每个客户端分配合适的优先级来解决相机控制中的优先级问题;

优先级控制

      "小雉视频系统"中的优先级控制综合了"视频分析","相机锁定","相机控制共享","相机级联"等应用场景,设计出支持相机控制抢占,控制独占,控制共享的优先级控制;
      "小雉视频系统"的优先级核心是在每个指令中增加一个"priority"参数,如相机转动的接口为:

{
    "command_type":"cameractrl",
    "command_for_uuid":"1",
    "ctrl_type":"turn",
    "priority":"0",
    "speedx":"23040",
    "speedy":"0",
    "time":"1.000000"
}

      "priority"的定义如下:

流媒体控制支持优先级控制[0-65534](数值越大优先级越高)
     0:默认值;
     非0:表示特权连接,需要实现连接保持,连接断开自动回0;
         1-比分析优先级低的定义;
         2-255:保留;
         256-29999:比分析优先级低的定义;
         30000-34999:视频分析专用的优先级;
         35000-64999:比分析优先级高的定义:
         65000-65534:保留;
     注:非0优先级中,
          偶数表示可合并的优先级,即如有多个拥有相同偶数优先级的客户端访问同一相机,这些所有客户端的指令会按照新指令覆盖旧指令方式生效;
          奇数表示独占优先组,即如有多个拥有相同奇数优先级的客户端访问同一相机,只有第一个客户端的指令会生效,其他客户端的指令会被拒绝;
流媒体控制支持多指令合并(按高优先级覆盖低优先级,新指令覆盖旧指令方式合并)
      如某用户A以优先级a向流媒体发起指令让相机左转30S,在用户A与流媒体保持TCP连接期间
           如B用户以比a高的优先级b发起指令,流媒体应立即响应B用户的指令,发送信息通知A有比他高的优先级用户控制了相机(信息不保证一定可达),并更改当前控制优先级为b(注:如B断开连接,流媒体把当前优先级置0,而非还原为a优先级);
           如B用户以与A相同的优先级a发起指令,流媒体应立即响应B用户的指令,当A用户与B用户都断开连接后,流媒体才会把当前优先级置0;
           如B用户以小于A的优先级a发起指令,流媒体应不会响应B用户的指令,当A用户断开连接后,流媒体才会把当前优先级置0;
           如A用户使用新优先级b发起指令,b>a,流媒体立即相应A用户指令,并更改当前控制优先级为b,当A用户断开连接后,流媒体会把当前优先级置0;
           如A用户使用新优先级b发起指令,b<a,
                如当前以a优先级保持连接的用户仅有A,流媒体立即相应A用户指令,并更改当前控制优先级为b,当A用户断开连接后,流媒体会把当前优先级置0;
                否则,不响应A用户的指令;

级联控制

      "级联控制"指小雉与小雉之间级联,最下级的小雉会综合所有上级小雉所有用户的优先级进行权衡,此处特别说明的是此级联协议的其他用途;

  1. 控制通知用途
    用tcp连接向小雉发送如下指令,则其他客户端(用小雉私有的ebml,xml,json接口或gb28181,onvif)发送的控制命令都会转发一份给此连接

    {

    "command_type":"controlInfo",
    "command_for_uuid":"camera_ctrl",
    "type":"1",
    "return_type":"json"

    }

  2. 自定义控制要求
    如推送rtsp流A给小雉转gb28181后分享给其他平台,并且编写一个程序使用tcp发送以下数据给小雉,小雉在收到其他平台对流A的GB28181控制信息时会通过tcp连接转发控制信息,并会判断控制的成败以返回给其他平台

    {

    "command_type":"controlInfo",
    "command_for_uuid":"camera_ctrl",
    "type":"2",
    "return_type":"json"

    }

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/