1. 概述

本文档描述当前公版APP兼容联咏方案的CMD和设置项,如果想要设备更好的匹配我们公版APP,请认真核对下面的协议;

对1.0版本的公版APP主要有以下几个功能模块:

  1. 实时预览:按联咏官方定义,使用RTSP协议,支持over tcp 或是 udp其中之一即可;rtsp地址 通过CMD 2019中的响应MovieLiveViewLink字段:

    http://192.168.1.254/?custom=1&cmd=2019
    <?xml version="1.0" encoding="UTF-8" ?>
    <LIST> 
    <MovieLiveViewLink>rtsp://192.168.1.254/xxx.mov</MovieLiveViewLink>
    <PhotoLiveViewLink>http://192.168.1.254:8192</PhotoLiveViewLink>
    </LIST>
    

    或是固定为:

    rtsp://192.168.1.254/xxx.mov
    

    如果需要指定底层的通讯协议是tcp 或 udp,需要增加over字段,可选参数:tcp 或是 udp,当如果预览有花屏时,可以尝试设置为‘tcp',如下:

    http://192.168.1.254/?custom=1&cmd=2019
    <?xml version="1.0" encoding="UTF-8" ?>
    <LIST> 
    <MovieLiveViewLink>rtsp://192.168.1.254/xxx.mov</MovieLiveViewLink>
    <PhotoLiveViewLink>http://192.168.1.254:8192</PhotoLiveViewLink>
    <Over>tcp</Over>
    </LIST>
    
  2. 文件列表和回放 文件列表通过联咏官方文档CMD 3015来获取; 只要设备端支持http server 即可支持视频的在线回放,但要注意:http server 要支持http的range 0-xx的协议;

  3. 拍照、录像 按联咏的官方CMD即可完成对接;

  4. 设置项 联咏的官方定义了部分设置项,但各个方案商厂家进行了设置项的扩展,不同的厂家会存在设置项的CMD的冲突(相同的CMD在不同的方案商上代表的含义不一样),对此当前有两种解决方案可以完成适配:

    • 按下表中的“命令字(当前使用的)”,进行匹配, 其中如果是“6013#9967#3040” 由‘#’进行分割的多个,只要方案商定义的是其中之一即可适配;
    • 用最后一列“6帧探官方”的,我们即可适配;

2. 当前支持

2.1 概述

本表描述了当前支持的各个功能和设置对应的CMD,此处列出了CMD和业务对应关系,只要对应一致,即可功能正常;下表的各个字段含义:

  • 命令字(当前使用的): 当前适配的CMD,如果设备方案中使用的”命令字“和 “命令功能”和此表对应,则APP能够正常显示功能,否则则需要调整
  • 命令功能: 该CMD对应的业务功能描述;
  • CMD类型:我们将CMD分为3类来进行统一描述(操作、选项、开关)
    • 选项普通的业务操作,比如:拍照、开始录像、停止录像等;
    • 设置界面中的开关类设置项,比如:mic的开关,时间水印开关;
    • 设置界面中的下拉选项类设置项,比如:录像时长(1分钟、3分钟、5分钟)
  • 是否官方文档中的: 联咏提供有一份官方的协议文档,其中定义大部分的官方CMD,官方定义的CMD,以官方为准;
  • 6帧探官方定义:为了更好的方便和统一个方案商新增CMD,6帧探官方定义了一套,公版APP会优先适配;
  • 备注: 某些CMD的特殊扩展含义描述;

2.2 CMD表格

命令字 (当前使用的) 命令功能 CMD 类型 备注 是否官方文档中的 6帧探官方定义 -
1001 拍照 操作 当前未使用,当时使用的是 2017 官方 沿用官方
1002 拍照图像质量 选项 官方 沿用官方
2001 启动、停止录制 操作 官方 沿用官方
2002 录制视频分辨率 选项 设置循环录像视频文件的分辨率 官方 沿用官方
2003 录制文件时长 选项 1分钟、3分钟等 官方 沿用官方
2004 宽动态 开关 官方 沿用官方
2005 曝光度 选项 官方 沿用官方
2006#9139 移动侦测 开关 运动相机用9139 官方 2006/9139
2007 mic开关 开关 官方 沿用官方
2008 时间水印 开关 官方 沿用官方
2011 碰撞灵敏度 选项 gsensor的灵敏度设置 官方 沿用官方
2012 自动录制 开关 官方 沿用官方
2013 设置录制码率 操作 很少使用 官方 沿用官方
2015 启动、停止预览 操作 部分设备需要,在重启RTSP时调用 官方 沿用官方
2016 获取录制状态(获取当前录制时长) 操作 0表示当前没有在录制,>0表示在录制 官方 沿用官方
2017 拍照命令(当前使用的) 操作 官方 沿用官方
2026 倾斜锁档 开关 [可选]运动相机场景使用 非官方 9400
2027 智能节电 开关 [可选]运动相机场景使用 非官方 9401
2029 mic录音灵敏度 选项 [可选]运动相机去风噪使用 非官方 9100
2030 图像水平镜像 开关 非官方 9101
2031 速度水印 开关 是否在视频水印上显示速度 非官方 9102
2032 录制视频的编码方式 选项 H264、H265 非官方 9103
3001 设置工作模式:拍照/录制/回放 操作 官方 沿用官方
3002 获取设备当前支持的命令字列表 操作 官方 沿用官方
3003 WiFi设备名称SSID 操作 官方 沿用官方
3004 wifi密码修改 操作 官方 沿用官方
3005 同步设置设备的日期 操作 官方 沿用官方
3006 同步设置设备的时间 操作 官方 沿用官方
3008 设置设备的语言 选项 官方 沿用官方
3009 TV输出模式切换 :NTSC/PAL 选项 很少使用 官方 沿用官方
3010 格式化 操作 官方 沿用官方
3011 恢复出厂设置 操作 官方 沿用官方
3012 获取固件版本 操作 官方 沿用官方
3014 获取当前每个设置项的当前值 操作 官方 沿用官方
3015 获取设备上文件列表 操作 参见《2.3 关于记录仪文件特殊性》 官方 沿用官方
3016 心跳检测 操作 官方 沿用官方
3017 获取设备的存储卡的基本信息 操作 官方 沿用官方
3019 获取当前的电池状态:充电中、未充电 操作 官方 沿用官方
3021 保存所有配置,在退出设置界面时 ,部分机型需要调用此方法,机器才能写配置到flash 操作 官方 沿用官方
3023 app进入设备连接,踢出上次的用户 操作 官方 沿用官方
3024 SD是否插入状态 操作 官方 沿用官方
3028 获取当前摄像头的通道、多画面模式切换 操作 官方 沿用官方
3031 获取当前设备支持的所有设置项和对应的选项列表 操作 官方 沿用官方
3035 app退出设备连接 操作 非官方 9104
3101 停车监控开关(是否启用) 开关 非官方 9105
4003 删除设备文件 操作 官方 沿用官方
3038#8005 停车监控碰撞灵敏度 选项 非官方 9106
6013#9967#3040 停车监控录像帧率 选项 1秒1帧等 非官方 9107
6015#9968#3041 停车监控时长设置 选项 12小时、24小时等 非官方 9108
6017 电压保护门限设置 选项 万汇的,没有选项值 非官方 9109
6019 格式化提醒方式选项 选项 关闭,提示,自动格式化 非官方 9110
6020 格式化提醒时间间隔设置选项 选项 15天/30天等 非官方 9111
8005 获取当前电池的具体电量 操作 0-100 非官方 9112
8006 设备是否接入GPS 操作 非官方 9113
8009 speaker(扬声器)开关 开关 非官方 9114
8018 获取设备插入的多个存储卡列表 操作 参见《多存储卡支持》 非官方 9115
8019 选择当前要查看的SD卡 操作 参见《多存储卡支持》 非官方 9116
8020 设置默认使用哪个SD卡 操作 参见《多存储卡支持》 非官方 9117
8060#8021 设备进入屏保时间 选项 非官方 9118
8020 AI驾驶辅助 开关 非官方 9119
8022 设备的主题设置 选项 非官方 9120
8023 语音控制开关 开关 非官方 9121
8052 speaker音量 选项 非官方 9122
9001 电压保护门限设置选项 选项 按联咏标准的选项值 非官方 9123
9973 情绪提醒 开关 yilu的E88 非官方 9124
9984 图像360翻转 开关 非官方 9125
9092 LER模式 开关 yilu的E88 非官方 9126
9093 超级夜景 开关 yilu的E88 非官方 9127
9128 ADAS选项 选项 非官方 9128
9129 速度单位,其中 0为KMH、1为MPH 选项 非官方 9129
9130 视频文件格式,0-MP4,1-TS 选项 非官方 9130
9132 光源频率 选项 如:50Hz,设备端返回什么,App就显示什么 6帧探官方 9132
9133 对视频进行加锁 操作 非官方 9133
2019 获取RTSP预览地址 操作 官方 沿用官方
9090 获取设备的型号信息 操作 参见 品牌厂家接口适配 6帧探官方 9090
9091 获取设备的唯一ID 操作 参见 品牌厂家接口适配 6帧探官方 9091
9095 查询当前设备上有几个摄像头 操作 参考《多路摄像头识别》 6帧探官方 9095
9134 慢动作播放视频(OFF/2X/4X) 选项 6帧探官方 9134
9135 按键音 开关 6帧探官方 9135
8038#9955 开机提示音开关 开关 1-开启 0-关闭 (开关机声音控制) 6帧探官方 9136
9137 停车监控模式 选项 非官方 9137
9138 移动侦测灵敏度 选项 6帧探官方 9138
9140 震动录像开关(停车监控时) 开关 1-开启 0-关闭 6帧探官方 9140
9141 疲劳驾驶(疲劳提醒时长设置) 选项 类似OFF/1H/2H/3H 6帧探官方 9141
9142 后路镜像(后路画面是否镜像) 开关 1-开启 0-关闭 6帧探官方 9142
9143 设备能力集查询 操作 见描述 6帧探官方 9143
9144 超速震动提醒 开关 1-开启 0-关闭 6帧探官方 9144
9145 缩时录影 开关 1-开启 0-关闭 6帧探官方 9145
9146 时区 选项 如:GMT -12,设备端返回什么,App就显示什么 6帧探官方 9146
9147 前路上下翻转 开关 1-开启 0-关闭 6帧探官方 9147
9148 内镜头颜色模式 开关 0-黑白 1-自动 2-彩色 6帧探官方 9148
9149 纯录音 开关 1-开启 0-关闭 6帧探官方 9149
9150 循环录像 开关 1-开启 0-关闭 6帧探官方 9150
9151 超速提醒 选项 如:100km/h,设备端返回什么,App就显示什么 6帧探官方 9151
9152 实时画面显示 选项 front-前路 back-后路 front-back-画中画 6帧探官方 9152
9153 强制录像 开关 1-无连接后,设备自动恢复录像 0-关闭 6帧探官方 9153
9154 24小时制 开关 1-开启 0-关闭 6帧探官方 9154
9155 HUD模式 选项 off-关闭 speed-速度 clock-时间 speed-direction-clock-速度、方向和时间 6帧探官方 9155
9156 车内录像 开关 1-开启 0-关闭 6帧探官方 9156
9157 前镜头EV 选项 同2005 6帧探官方 9157
9158 后镜头EV 选项 同2005 6帧探官方 9158
9159 GPS模式 选项 off-关闭 track-轨迹记录 sync-时间同步后关闭GPS 6帧探官方 9159
9160 震动 开关 1-开启 0-关闭 6帧探官方 9160
9161 蜂鸣器 开关 1-开启 0-关闭 6帧探官方 9161
9162 录像警示灯 开关 1-开启 0-关闭 6帧探官方 9162
9163 夏令时 开关 1-开启 0-关闭 6帧探官方 9163
9164 其它路型号和版本号 开关 有多路镜头,且各路型号和版本不同,需要放开升级时用 6帧探官方 9164
9165 后路录像 开关 1-开启 0-关闭 6帧探官方 9165
9166 车牌号 输入 App单独查询此CMD当前状态,PLATE字段返回当前值,如果不支持此CMD,3002接口不要返回 6帧探官方 9166
9167 声控词条 选项 非设置项,只做展示,设备端返回什么,App就显示什么 6帧探官方 9167
9168 时间格式 选项 如:yyyy-MM-dd,设备端返回什么,App就将其转换为当前时间显示 6帧探官方 9168
9169 GPS水印 开关 1-开启 0-关闭 6帧探官方 9169
9170 型号水印 开关 1-开启 0-关闭 6帧探官方 9170
9171 是否接入ACC 状态 非设置项,3014接口查询返回当前状态即可 6帧探官方 9171
9172 上電自動開機 开关 1-开启 0-关闭 6帧探官方 9172

关于 “官方”的CMD详情,请参考 《NT9666x Wi-Fi Command User Guide.pdf》;

CMD为 “6013#9967#3040” 表示:只用对应其中的一个CMD(比如:3040),就表示支持该项目;

2.3 关于记录仪文件特殊性

2.3.1 停车监控视频

现在大部分的设备都支持停车监控,app中记录仪文件中有个独立的文件夹:“停车视频”,为了让停车监控时所录制的文件适配到“停车视频”文件夹中,设备只要满足如下条件即可(不区分大小写):

CMD3015上报APP的文件路径中含有“MOVIE_TL" 、"parking"、"24HOUR"、"_T"之一即可;

2.3.2 紧急视频:

APP会对碰撞视频用单独的文件夹存放,怎么识别出文件列表的视频是碰撞视频,满足以下条件其一(不区分大小写)即可:

1. 文件路径中含有“RO"、"EMR"、"SOS"之一;
2. 文件只读;

2.3.3 显示前后视频标记:

APP会对前后路的文件显示标签,让用户可以很容易区分出是哪路摄像头记录的视频文件: 前后路文件区分,以下条件具备其一即为后路文件(不区分大小写:

1. 文件名以"b"结尾); 比如xxxxxx_b.mp4 或 2019121223212B.mp4
2. 文件路径中含有”_rear“、"emr_e"、"movie_e" ,比如:/movie/movie_e/2019121223212B.mp4

2.4 录像状态

APP上会显示当前的录制状态,录制状态通过2016获取,官方文档描述:

Command: http://192.168.1.254/?custom=1&cmd=2016
Parameter: Null

<?xml version="1.0" encoding="UTF-8" ?>
- <Function>
<Cmd>2016</Cmd>
<Status>0</Status>
<Value>0</Value>
</Function>

Note:
1. The value 0 means is not recording
2. If cyclic record on, the recording time would reset depend on cyclic period.

value 为0表示当前未启动录制;大于0 表示正在录制中

3. 部分功能补充说明

3.1 多存储卡支持

3.1.1 获取当前存储信息列表

请求参数
  • CMD: 8018
  • 请求样例:
          http://192.168.1.254/?custom=1&cmd=8018
    
响应结果参数说明
变量名 含义 说明
Index 存储卡的编号 0 - EMMC,1- TF Card 1,2- TF Card 2 ,切换时用作下发参数
Name 存储卡的名称 举例:[EMMC,TF Card 1,TF Card 2]
Type 存储卡的类型 0- EMMC,1-TFCard
FreeSize 卡的剩余空间(Byte) 剩余可用空间,单位:字节
TotalSize 卡的总空间(Byte) 存储卡总大小,单位:字节

响应结果举例:

    <?xml version="1.0" encoding="UTF-8" ?>
    <Function>
    <Cmd>8018</Cmd>
    <Status>0</Status>
    <List>
    <Option>
    <Index>0</Index>
    <Name>eMMC</Name>
    <FreeSize>14990376960</FreeSize>
    <TotalSize>14990442496</TotalSize>
    </Option>
    <Option>
    <Index>1</Index>
    <Name>SD Card</Name>
    <FreeSize>55450075136</FreeSize>
    <TotalSize>62247665664</TotalSize>
    </Option>
    </List>
    </Function>

3.1.2 切换查看存储文件的存储卡

请求参数
  • CMD: 8019
  • 请求样例:
          http://192.168.1.254/?custom=1&cmd=8019&par=0
    
响应结果参数说明
变量名 含义 说明
par 选择的存储卡序号 使用8018中的Index值进行切换

响应结果举例:

<?xml  version="1.0"  encoding="UTF-8"  ?>
  <Function>
  <Cmd>8019</Cmd>
  <Status>0</Status>
  </Function>

3.2. 电压选项

3.2.1 支持电压选项

电压选项通常有12V 和 24V两种场景:

  • 当设备场景下只支持其中一种时采用9001的方式进行设置,这是联咏的通用的某个设置的选项;

  • 如果是 12V和24V都同时支持,我们希望通过我们自定义的布局实现,而非当前底部弹框(选项太多了)

    • 当前已经实现了一种方案(万汇的),app只能获取到当前值,其他app写死处理的;
    • 暂未实现,只是假设: 设备列出所有选项,app分析出12V和24V,进入自定义界面?
请求参数
  • CMD: 9001
  • 请求样例:
          http://192.168.1.254/?custom=1&cmd=9001&par=0
    
响应结果参数说明
变量名 含义 说明
par 选项值对应的序号,从3031中的9001获取 使用9001中的Index值进行设置

响应结果举例:

<?xml  version="1.0"  encoding="UTF-8"  ?>
  <Function>
  <Cmd>9001</Cmd>
  <Status>0</Status>
  </Function>

3.3 多路摄像头识别

怎么让APP知道设备当前有几个摄像头,以便app支持多镜头切换的功能,按下面的方式实现其一即可;

方式一:使用CMD3028的响应结果

联咏官方CMD中没有多路摄像头,但是有"Setup PIP Style"的CMD 3028,APP根据该CMD进行是否支持多路摄像头的切换处理;

切换多路摄像头

  • CMD: 3028 (Set PIP (Picture in Picture) style for live view streaming (HTTP + MJPG))
  • 请求样例:
          http://192.168.1.254/?custom=1&cmd=3028&par=0
    
    其中的参数par:
    • 0: 双路中的前路画面
    • 1:双路中的后路画面
    • 2:前后路画面画中画模式(前路是主画面);
    • 3:前后路画面画中画模式(后路是主画面);

APP是怎么识别有多个摄像头

  • 通过3031中获取设置支持的设置项中,返回3028,且返回的3028的选项个数>=2;

举例:

请求:
http://192.168.1.254:80/?custom=1&cmd=3031&str=all

响应结果中部分:
……
<Item>
<Cmd>3028</Cmd>
<Name>PIP_VIEW</Name>
<MenuList>
<Option>
<Index>0</Index>
<Id>1T1F</Id>
</Option>
<Option>
<Index>1</Index>
<Id>2T2F</Id>
</Option>
<Option>
<Index>2</Index>
<Id>1T1B2S</Id>
</Option>
<Option>
<Index>3</Index>
<Id>1T1S2B</Id>
</Option>
</MenuList>
……

方式二:自定义CMD 9095

  • CMD: 9095
  • 操作:查询
Command: http://192.168.1.254/?custom=1&cmd=9095

<?xml version="1.0" encoding="UTF-8" ?>
- <Function>
<Cmd>9095</Cmd>
<Status>0</Status>
<Value>1</Value>
</Function>
  • CMD : 9095
  • Vaule: 镜头数
    • 1:单镜头
    • 2:两个镜头

3.4 设备能力集查询

  • CMD: 9143
  • 操作:查询
Command: http://192.168.1.254/?custom=1&cmd=9143

<?xml version="1.0" encoding="UTF-8" ?>
<Function>
<Cmd>9143</Cmd>
<Status>0</Status>
<String>1000</String>
</Function>

其中String自动的每一位代表1个业务能力(方案商实现时,如果对某位的业务不支持或是不了解,默认填0):

第0位:GPS数据业务

- 0 不支持GPS
- 1 仅支持下载后的视频文件GPS数据获取;
- 2 支持下载后的视频文件、在线回放的视频文件GPS数据获取;
- 3 支持下载后的视频文件、在线回放的视频文件、实时画面GPS数据获取;
- 4 支持下载后的视频文件、实时画面GPS数据获取;

第1位:1-运动相机,0-记录仪(默认)

第2位:1-不支持停车监控相册,0-支持停车监控相册(默认)

第3位:1-该设备支持通过APP操作文件加锁,0-不支持(默认)

第4位:1- 不支持删除加锁文件;0-支持删除加锁文件(默认); 如果有需求不能删除加锁文件,修改此字段;

第5位:部分芯片拍照需要切换到拍照模式的,1- 不切换模式,直接录像码流抓拍,0-(默认)切换模式进行抓拍或是当前默认方式

第6位:回放是否使用rtsp的流,如果部分设备回放码率特别大,wifi传输会造成回放卡顿,需要使用rtsp播放小码流时,可以修改此字段(回放是否支持rtsp还需要设备端支持);

0-(默认)-不使用rtsp的流,使用文件下载播放的方式, 
1- 使用RTSP的协议TCP播放回放实时流  
2- 使用RTSP的协议UDP播放回放实时流;

第7位:是否支持拍照功能,0(默认)-支持拍照功能, 1- 不支持拍照,只支持录像;部分设备资源不够,不支持拍照功能时,修改此字段,app上将会隐藏拍照按钮;

第8位:是否支持APP修改wifi名或wifi密码

- 0(默认)- 支持修改WiFi名和WiFi密码,
- 1-不支持修改WiFi名,支持修改WiFi密码,此时WiFi名将会隐藏;
- 2-支持修改WiFi名,不支持修改WiFi密码,此时WiFi密码将会隐藏;
- 3.不支持修改WiFi名,且不支持修改WiFi密码,此时WiFi名和密码都将会隐藏;

第9位:0(默认)- 不支持文件拷贝,1-支持文件拷贝

第10位:是否使用其他非HTTP的方式下载设备视频文件,0(默认)-App自己决定下载策略,1-使用原厂sdk的方式下载设备视频文件,2-使用http下载设备视频文件,当期主要是针对杰理方案,非特殊需求,请使用默认值0

第n位:待补充

Copyright © 小帧科技 2024 修订时间: 2024-05-12 08:40:51

results matching ""

    No results matching ""