4G/5G执法记录仪接口说明

发布时间: 2026-07-11 13:06:53

4G/5G执法记录仪接口文档

1. 登录认证接口

1.1 接口说明

设备端登录时,调用案管系统当前登录认证接口。案管系统需校验登录账号、设备名称、所属分局是否与设备管理接口中已配置的数据一致。校验通过后返回登录 tokentoken 有效期为 24 小时,或在用户签退后失效。

 移动视频类设备&平台国标GB28181输入/输出GB28181平台对接、RTSP/RTMP输入&输出, https://www.besovideo.com/detail?t=1&i=229

多源统一视频融合通信可视指挥调度平台VMS/smarteye概述,https://www.besovideo.com/detail?t=1&i=240

关于移动视频-无线图传产品中的录像机制-云端录像-录像计划、自动录像、主动上传、下载计划-录像导出等说明,https://www.besovideo.com/detail?t=1&i=146

关于移动视频-无线图传系统中的语音对讲、集群通话(有用户权限差异和无用户权限差异),https://www.besovideo.com/detail?t=1&i=149

客户私有化部署自建4G图传流媒体服务器平台需求性能估算,https://www.besovideo.com/detail?t=1&i=91

关于移动视频管理平台的平台对接常见问题,https://www.besovideo.com/detail?t=1&i=95

固定点监控及第三方网络摄像头设备接入smarteye平台与移动视频监控的融合, https://www.besovideo.com/detail?t=1&i=152

移动视频无线图传系统里面的RTSP/ONVIF流输出的实现机制,https://www.besovideo.com/detail?t=1&i=156

移动视频无线图传系统里面的RTMP流输出的实现机制,https://www.besovideo.com/detail?t=1&i=157

1.2 请求信息

 

项目

说明

接口地址

以案管系统当前接口地址为准

请求方式

POST

Content-Type

application/json

 

1.3 请求参数

 

字段名

类型

可否修改

是否必填

说明

deviceSn

VARCHAR

设备唯一标识,关联设备表,不可编辑

userName

VARCHAR

登录用户名,与案管系统用户 id 同步

password

VARCHAR

用户密码,不与案管系统同步,设备端配置时支持修改

 

1.4 请求示例

 

{

  "deviceSn": "DEVICE_SN_001",

  "userName": "user001",

  "password": "123456"

}

 

1.5 返回参数

 

字段名

说明

data

返回 token24 小时或签退失效

msg

提示信息

code

响应状态码,200 成功,其他为失败

 

1.6 成功返回示例

 

{

  "code": 200,

  "msg": "登录成功",

  "data": "eyJhbGciOiJIUzI1NiJ9.xxxxx"

}

 

1.7 失败返回示例

 

{

  "code": 500,

  "msg": "登录账号、设备名称或所属分局与设备管理配置不一致",

  "data": null

}

 

1.8 业务规则

1. `deviceSn``userName``password` 均不能为空。

2. `deviceSn` 必须能关联到设备管理接口中已配置的设备信息。

3. 登录账号、设备名称、所属分局需与设备管理接口配置数据一致。

4. 校验失败时不返回 token,并通过 `msg` 返回失败原因。

5. token 有效期为 24 小时;用户签退后,token 立即失效。

 

2. 执法仪视频分片上传接口

2.1 初始化执法仪视频分片上传

项目

说明

接口地址

`/video/initUpload`

请求方式

POST

Content-Type

application/json

 

2.1.1 请求参数

字段名

类型

可否修改

是否必填

说明

caseId

VARCHAR

案件ID,用于将视频附件关联到案件

deviceSn

VARCHAR

设备唯一标识,用于标识上传视频的执法仪设备

fileName

VARCHAR

原始视频文件名,系统会根据文件后缀校验视频格式

fileSize

INTEGER

视频文件总大小,单位字节,用于计算分片总数和完成上传时校验文件大小

partSize

INTEGER

分片大小,单位字节;不传时默认 20MB,允许范围 1MB 100MB

fileMd5

VARCHAR

视频文件整体 MD5;传入后完成上传时会重新计算视频 MD5 并校验一致性

duration

INTEGER

视频时长,单位秒

token

VARCHAR

身份标识,用于标识设备端登录认证后的身份

lat

DECIMAL

纬度坐标,范围 -90 90

lng

DECIMAL

经度坐标,范围 -180 180

 

2.1.2 请求示例

 

{

  "caseId": "CASE_001",

  "deviceSn": "DEVICE_SN_001",

  "fileName": "evidence.mp4",

  "fileSize": 104857600,

  "partSize": 20971520,

  "fileMd5": "d41d8cd98f00b204e9800998ecf8427e",

  "duration": 120,

  "token": "eyJhbGciOiJIUzI1NiJ9.xxxxx",

  "lat": 39.9042,

  "lng": 116.4074

}

 

2.1.3 返回参数

 

字段名

说明

code

响应状态码,200 成功,其他为失败

msg

提示信息

data.uploadId

上传会话ID,后续上传分片、完成上传、取消上传均需传入

data.partSize

本次上传实际使用的分片大小,单位字节

data.totalPartCount

总分片数,客户端需按该数量上传全部分片

data.maxPartSize

单个分片最大允许大小,单位字节

 

2.1.4 成功返回示例

 

{

  "code": 200,

  "msg": "成功",

  "data": {

    "uploadId": "9f4a1a4f5d5342c1b4a1d0d7c8e9f001",

    "partSize": 20971520,

    "totalPartCount": 5,

    "maxPartSize": 104857600

  }

}

 

2.2 上传执法仪视频分片

 

项目

说明

接口地址

`/video/uploadPart`

请求方式

POST

Content-Type

multipart/form-data

 

2.2.1 请求参数

 

字段名

类型

可否修改

是否必填

说明

uploadId

VARCHAR

初始化接口返回的上传会话ID,用于定位本次视频上传任务

partNumber

INTEGER

当前分片序号,从 1 开始,不能大于初始化接口返回的 `totalPartCount`

file

FILE

当前分片文件内容;非最后一个分片大小不能超过初始化时使用的 `partSize`,任一分片不能超过 `maxPartSize`

 

2.2.2 请求示例

 

POST /video/uploadPart

Content-Type: multipart/form-data

 

uploadId=9f4a1a4f5d5342c1b4a1d0d7c8e9f001

partNumber=1

file=@evidence.part1

 

2.2.3 返回参数

 

字段名

说明

code

响应状态码,200 成功,其他为失败

msg

提示信息

data.uploadId

上传会话ID

data.partNumber

本次上传成功的分片序号

data.uploaded

当前已上传分片数量

data.totalPartCount

总分片数

 

2.2.4 成功返回示例

 

{

  "code": 200,

  "msg": "成功",

  "data": {

    "uploadId": "9f4a1a4f5d5342c1b4a1d0d7c8e9f001",

    "partNumber": 1,

    "uploaded": 1,

    "totalPartCount": 5

  }

}

 

2.3 完成执法仪视频上传

 

项目

说明

接口地址

`/video/completeUpload`

请求方式

POST

Content-Type

application/json

 

2.3.1 请求参数

 

字段名

类型

可否修改

是否必填

说明

uploadId

VARCHAR

初始化接口返回的上传会话ID,用于合并该会话下全部分片

 

2.3.2 请求示例

 

{

  "uploadId": "9f4a1a4f5d5342c1b4a1d0d7c8e9f001"

}

 

2.3.3 返回参数

 

字段名

说明

code

响应状态码,200 成功,其他为失败

msg

提示信息

data.flag

完成上传标识,`true` 表示完成

data.uploadId

上传会话ID

data.fileInfoId

文件信息ID,用于关联文件信息表记录

data.filePath

FastDFS 文件路径

data.attPath

附件路径,当前返回文件信息ID

data.fileName

视频文件名,不含文件后缀

 

2.3.4 成功返回示例

 

{

  "code": 200,

  "msg": "成功",

  "data": {

    "flag": true,

    "uploadId": "9f4a1a4f5d5342c1b4a1d0d7c8e9f001",

    "fileInfoId": "FILE_INFO_001",

    "filePath": "group1/M00/00/00/evidence.mp4",

    "attPath": "FILE_INFO_001",

    "fileName": "evidence"

  }

}

 

2.4 取消执法仪视频上传

 

项目

说明

接口地址

`/video/abortUpload`

请求方式

POST

Content-Type

application/x-www-form-urlencoded

 

2.4.1 请求参数

 

字段名

类型

可否修改

是否必填

说明

uploadId

VARCHAR

初始化接口返回的上传会话ID,用于清理该会话下的临时分片文件

 

2.4.2 请求示例

 

POST /video/abortUpload

Content-Type: application/x-www-form-urlencoded

 

uploadId=9f4a1a4f5d5342c1b4a1d0d7c8e9f001

 

2.4.3 返回参数

 

字段名

说明

code

响应状态码,200 成功,其他为失败

msg

提示信息

data.uploadId

上传会话ID

data.aborted

取消上传标识,`true` 表示已清理临时分片

 

2.4.4 成功返回示例

 

{

  "code": 200,

  "msg": "成功",

  "data": {

    "uploadId": "9f4a1a4f5d5342c1b4a1d0d7c8e9f001",

    "aborted": true

  }

}

 

2.5 调用顺序和业务规则

 

1. 先调用 `/video/initUpload` 初始化上传,获取 `uploadId``partSize``totalPartCount`

2. `partNumber` 1 `totalPartCount` 调用 `/video/uploadPart` 上传所有视频分片。

3. 所有分片上传完成后,调用 `/video/completeUpload` 合并分片并上传至 FastDFS

4. 上传过程中如需放弃本次上传,调用 `/video/abortUpload` 清理临时分片。

5. `uploadId` 只能由创建该上传会话的当前登录用户继续操作。

6. 如果初始化时传入 `fileMd5`,完成上传时会校验合并后视频文件的 MD5,不一致则完成上传失败。

7. 完成上传或取消上传后,系统会清理该上传会话的临时文件。