设备模块鉴权接口文档 - 地址接口
概览
- 基础路径: /api
- 文档范围: 设备直播地址与录像回放地址接口
- 鉴权方式: 请求头 X-Token
- Content-Type: application/json
文档拆分
- 本文档仅保留直播地址与录像地址接口
- 设备基础接口见 device-auth.md
- P2P 代理接口见 device-auth-p2p.md
鉴权头
| 字段 |
类型 |
必填 |
说明 |
| X-Token |
string |
是 |
用户登录后获得的 JWT Token |
统一响应格式
{
"code": 200,
"msg": "操作成功",
"data": {}
}
返回字段说明
| 字段 |
类型 |
说明 |
| code |
integer |
业务状态码,200 表示成功,其他值表示失败 |
| msg |
string |
响应消息 |
| data |
object/null |
业务数据 |
1. 获取直播地址
- 路径: /api/device/live/address
- 方法: POST
- 是否鉴权: 是
请求 Body 参数
| 字段 |
类型 |
必填 |
说明 |
| deviceId |
string |
是 |
设备唯一标识 |
| channelId |
integer |
否 |
视频通道 ID。小于等于 0 时服务端会修正为 1 |
| expiredTime |
integer |
否 |
过期时间(秒)。不合法时服务端会修正为 当前时间+3600 |
请求示例
{
"deviceId": "dev_001",
"channelId": 1,
"expiredTime": 1752297600
}
成功响应示例
{
"code": 200,
"msg": "操作成功",
"data": {
"address": "https://live.example.com/dev_001/hlsram/live0/token.flv"
}
}
返回参数说明
| 字段 |
类型 |
说明 |
| code |
integer |
成功时为 200 |
| msg |
string |
成功时为 操作成功 |
| data.address |
string |
直播流地址 |
失败响应示例
{
"code": 400,
"msg": "参数错误",
"data": null
}
{
"code": 500,
"msg": "获取直播地址失败: failed to set live token in Redis: ...",
"data": null
}
2. 获取录像回放地址
- 路径: /api/device/record/address
- 方法: POST
- 是否鉴权: 是
请求 Body 参数
| 字段 |
类型 |
必填 |
说明 |
| deviceId |
string |
是 |
设备唯一标识 |
| startTime |
integer |
是 |
回放开始时间戳,毫秒 |
| endTime |
integer |
是 |
回放结束时间戳,毫秒 |
请求示例
{
"deviceId": "dev_001",
"startTime": 1750176000000,
"endTime": 1750262399999
}
成功响应示例
{
"code": 200,
"msg": "操作成功",
"data": {
"address": "https://record.example.com/xsw/api/record/hls/vod/index.m3u8?..."
}
}
返回参数说明
| 字段 |
类型 |
说明 |
| code |
integer |
成功时为 200 |
| msg |
string |
成功时为 操作成功 |
| data.address |
string |
录像回放地址 |
失败响应示例
{
"code": 400,
"msg": "参数错误",
"data": null
}
{
"code": 500,
"msg": "获取录像地址失败: ...",
"data": null
}
附录
说明
- 直播地址和录像地址接口均使用统一响应结构。
- live/address 中的 channelId 小于等于 0 时会被修正为 1。
- live/address 中的 expiredTime 小于等于 0 时会被修正为 3600。当前实现将该值直接作为 GetDeviceLiveUrl 的 expiredTime 参数传入。
- record/address 直接根据 deviceId、startTime、endTime 生成回放地址。