|
@@ -1,4075 +0,0 @@
|
|
|
-# 文档
|
|
|
|
|
-
|
|
|
|
|
-## 摄像头控制 Controller
|
|
|
|
|
-
|
|
|
|
|
-MVP API 接口:
|
|
|
|
|
-
|
|
|
|
|
-- GET /camera/list 获取摄像头列表
|
|
|
|
|
-- GET /camera/{id} 获取摄像头信息
|
|
|
|
|
-- POST /camera/switch 切换摄像头通道
|
|
|
|
|
-- GET /camera/current 获取当前通道
|
|
|
|
|
-
|
|
|
|
|
-后台 PTZ 接口(可选):
|
|
|
|
|
-
|
|
|
|
|
-- POST /camera/{id}/ptz/start 开始 PTZ 控制
|
|
|
|
|
-- POST /camera/{id}/ptz/stop 停止 PTZ 控制
|
|
|
|
|
-
|
|
|
|
|
-### 获取摄像头列表
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/camera/list
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/camera/list
|
|
|
|
|
-
|
|
|
|
|
-描述:获取摄像头列表
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --------- | ------ | ---- | -------- | --------------- | ----------- |
|
|
|
|
|
-| machineId | String | 否 | - | 机器 ID(可选) | machine_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "machineId": "machine_001"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 摄像头名称 | 主摄像头 |
|
|
|
|
|
-| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ model | String | 否 | - | 摄像头型号 | DS-2CD2143G2-IS |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101 |
|
|
|
|
|
-| └ channelNo | String | 否 | - | 通道号 | 1 |
|
|
|
|
|
-| └ status | String | 否 | - | 摄像头状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ capability | String | 否 | - | 摄像头能力: switch_only, ptz_enabled | ptz_enabled |
|
|
|
|
|
-| └ ptzSupported | Boolean | 否 | - | 是否支持 PTZ | true |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2143G2-IS",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "ptzSupported": true,
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "enabled": true
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取摄像头信息
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/camera/{cameraId}
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/camera/{cameraId}
|
|
|
|
|
-
|
|
|
|
|
-描述:获取摄像头信息
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### Path 参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 必填 | 描述 | 示例值 |
|
|
|
|
|
-| -------- | ---- | --------- | ---------- |
|
|
|
|
|
-| cameraId | 是 | 摄像头 ID | camera_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: CameraDTO) | |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 摄像头名称 | 主摄像头 |
|
|
|
|
|
-| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ model | String | 否 | - | 摄像头型号 | DS-2CD2143G2-IS |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101 |
|
|
|
|
|
-| └ channelNo | String | 否 | - | 通道号 | 1 |
|
|
|
|
|
-| └ status | String | 否 | - | 摄像头状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ capability | String | 否 | - | 摄像头能力: switch_only, ptz_enabled | ptz_enabled |
|
|
|
|
|
-| └ ptzSupported | Boolean | 否 | - | 是否支持 PTZ | true |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2143G2-IS",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "ptzSupported": true,
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "enabled": true
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 切换摄像头通道(MVP 核心)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/camera/switch
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/camera/switch
|
|
|
|
|
-
|
|
|
|
|
-描述:切换摄像头通道(MVP 核心)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --------- | ------ | ---- | -------- | ----------- | ----------- |
|
|
|
|
|
-| machineId | String | 是 | - | 机器 ID | machine_001 |
|
|
|
|
|
-| channelId | String | 是 | - | 目标通道 ID | ch_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "machineId": "machine_001",
|
|
|
|
|
- "channelId": "ch_001"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------- | ---- | -------- | --------------------------------- | -------------------------------- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: ChannelDTO) | |
|
|
|
|
|
-| └ channelId | String | 否 | - | 通道 ID | ch_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 通道名称 | 主通道 |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
|
|
|
|
|
-| └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
|
|
|
|
|
-| └ status | String | 否 | - | 通道状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 所属摄像头 ID | cam_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "channelId": "ch_001",
|
|
|
|
|
- "name": "主通道",
|
|
|
|
|
- "rtspUrl": "rtsp://192.168.1.100:554/stream1",
|
|
|
|
|
- "defaultView": true,
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "cameraId": "cam_001"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取当前活动通道
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/camera/current
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/camera/current
|
|
|
|
|
-
|
|
|
|
|
-描述:获取当前活动通道
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --------- | ------ | ---- | -------- | ------- | ----------- |
|
|
|
|
|
-| machineId | string | 是 | - | 机器 ID | machine_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------- | ---- | -------- | --------------------------------- | -------------------------------- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: ChannelDTO) | |
|
|
|
|
|
-| └ channelId | String | 否 | - | 通道 ID | ch_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 通道名称 | 主通道 |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
|
|
|
|
|
-| └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
|
|
|
|
|
-| └ status | String | 否 | - | 通道状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 所属摄像头 ID | cam_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "channelId": "ch_001",
|
|
|
|
|
- "name": "主通道",
|
|
|
|
|
- "rtspUrl": "rtsp://192.168.1.100:554/stream1",
|
|
|
|
|
- "defaultView": true,
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "cameraId": "cam_001"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 开始 PTZ 控制(后台专用)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/camera/{cameraId}/ptz/start
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/camera/{cameraId}/ptz/start
|
|
|
|
|
-
|
|
|
|
|
-描述:开始 PTZ 控制(后台专用)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### Path 参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 必填 | 描述 | 示例值 |
|
|
|
|
|
-| -------- | ---- | --------- | ------------- |
|
|
|
|
|
-| cameraId | 是 | 摄像头 ID | hikvision_ptz |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------ | ------ | ---- | -------- | ----------- | ------ |
|
|
|
|
|
-| action | string | 是 | - | PTZ 动作 | up |
|
|
|
|
|
-| speed | int32 | 是 | - | 速度(1-100) | 50 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 停止 PTZ 控制(后台专用)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/camera/{cameraId}/ptz/stop
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/camera/{cameraId}/ptz/stop
|
|
|
|
|
-
|
|
|
|
|
-描述:停止 PTZ 控制(后台专用)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### Path 参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 必填 | 描述 | 示例值 |
|
|
|
|
|
-| -------- | ---- | --------- | ------------- |
|
|
|
|
|
-| cameraId | 是 | 摄像头 ID | hikvision_ptz |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### PTZ 直接控制(兼容前端 pan/tilt/zoom 方式)
|
|
|
|
|
-
|
|
|
|
|
-与前端海康调试接口一致:直接传 pan/tilt/zoom 值
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/camera/{cameraId}/ptz/control
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/camera/{cameraId}/ptz/control
|
|
|
|
|
-
|
|
|
|
|
-描述:PTZ 直接控制(兼容前端 pan/tilt/zoom 方式)
|
|
|
|
|
-
|
|
|
|
|
-与前端海康调试接口一致:直接传 pan/tilt/zoom 值
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### Path 参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 必填 | 描述 | 示例值 |
|
|
|
|
|
-| -------- | ---- | --------- | ------------- |
|
|
|
|
|
-| cameraId | 是 | 摄像头 ID | hikvision_ptz |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------- | ------- | ---- | -------- | ------------------------------------------------------ | ------ |
|
|
|
|
|
-| pan | Integer | 否 | 100 | 水平移动速度<br>负值向左,正值向右<br>范围: -100 ~ 100 | 0 |
|
|
|
|
|
-| tilt | Integer | 否 | 100 | 垂直移动速度<br>负值向下,正值向上<br>范围: -100 ~ 100 | 0 |
|
|
|
|
|
-| zoom | Integer | 否 | 100 | 缩放速度<br>负值缩小,正值放大<br>范围: -100 ~ 100 | 0 |
|
|
|
|
|
-| channel | Integer | 否 | - | 通道号(可选,默认 1) | 0 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "pan": 0,
|
|
|
|
|
- "tilt": 0,
|
|
|
|
|
- "zoom": 0,
|
|
|
|
|
- "channel": 0
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## 摄像头管理
|
|
|
|
|
-
|
|
|
|
|
-### 获取摄像头列表(分页)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/list
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/list
|
|
|
|
|
-
|
|
|
|
|
-描述:获取摄像头列表(分页)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------- | ------- | ---- | -------- | ----------------------------------------------- | --------- |
|
|
|
|
|
-| page | Integer | 否 | - | 页码 (从 1 开始) | 1 |
|
|
|
|
|
-| size | Integer | 否 | - | 每页条数 | 10 |
|
|
|
|
|
-| keyword | String | 否 | - | 搜索关键词 (模糊匹配名称、ID 等) | 摄像头 |
|
|
|
|
|
-| enabled | Boolean | 否 | - | 启用状态过滤 (null=全部, true=启用, false=禁用) | true |
|
|
|
|
|
-| sortBy | String | 否 | - | 排序字段 | createdAt |
|
|
|
|
|
-| sortDir | String | 否 | - | 排序方向 (ASC/DESC) | DESC |
|
|
|
|
|
-| lssId | String | 否 | - | LSS 节点 ID 过滤 | lss_001 |
|
|
|
|
|
-| status | String | 否 | - | 在线状态过滤 (ONLINE/OFFLINE) | ONLINE |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "page": 1,
|
|
|
|
|
- "size": 10,
|
|
|
|
|
- "keyword": "摄像头",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "sortBy": "createdAt",
|
|
|
|
|
- "sortDir": "DESC",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "status": "ONLINE"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: PageResponse) | |
|
|
|
|
|
-| └ list | List<T> | 否 | | 数据列表 (ActualType: T) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 主摄像头 |
|
|
|
|
|
-| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
|
|
|
|
|
-| └ port | Integer | 否 | - | 端口 | 80 |
|
|
|
|
|
-| └ username | String | 否 | - | 用户名 | admin |
|
|
|
|
|
-| └ brand | String | 否 | - | 品牌 | hikvision |
|
|
|
|
|
-| └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
|
|
|
|
|
-| └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
|
|
|
|
|
-| └ channelNo | String | 否 | - | 通道号 | 1 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ page | Integer | 否 | - | 当前页码 (从 1 开始) | 1 |
|
|
|
|
|
-| └ size | Integer | 否 | - | 每页条数 | 10 |
|
|
|
|
|
-| └ total | Long | 否 | - | 总记录数 | 100 |
|
|
|
|
|
-| └ totalPages | Integer | 否 | - | 总页数 | 10 |
|
|
|
|
|
-| └ hasNext | Boolean | 否 | - | 是否有下一页 | true |
|
|
|
|
|
-| └ hasPrevious | Boolean | 否 | - | 是否有上一页 | false |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "list": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "ip": "192.168.1.100",
|
|
|
|
|
- "port": 80,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "brand": "hikvision",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2T47G2-LSU/SL",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- "page": 1,
|
|
|
|
|
- "size": 10,
|
|
|
|
|
- "total": 100,
|
|
|
|
|
- "totalPages": 10,
|
|
|
|
|
- "hasNext": true,
|
|
|
|
|
- "hasPrevious": false
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取摄像头列表(全部,不分页)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/cameras/listAll
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/cameras/listAll
|
|
|
|
|
-
|
|
|
|
|
-描述:获取摄像头列表(全部,不分页)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --------- | ------ | ---- | -------- | --------------- | ----------- |
|
|
|
|
|
-| machineId | string | 否 | - | 机器 ID(可选) | machine_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 主摄像头 |
|
|
|
|
|
-| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
|
|
|
|
|
-| └ port | Integer | 否 | - | 端口 | 80 |
|
|
|
|
|
-| └ username | String | 否 | - | 用户名 | admin |
|
|
|
|
|
-| └ brand | String | 否 | - | 品牌 | hikvision |
|
|
|
|
|
-| └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
|
|
|
|
|
-| └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
|
|
|
|
|
-| └ channelNo | String | 否 | - | 通道号 | 1 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "ip": "192.168.1.100",
|
|
|
|
|
- "port": 80,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "brand": "hikvision",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2T47G2-LSU/SL",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取摄像头详情
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/cameras/detail
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/cameras/detail
|
|
|
|
|
-
|
|
|
|
|
-描述:获取摄像头详情
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---- | ----- | ---- | -------- | ------------- | ------ |
|
|
|
|
|
-| id | int64 | 是 | - | 摄像头主键 ID | 1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: CameraInfoDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 主摄像头 |
|
|
|
|
|
-| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
|
|
|
|
|
-| └ port | Integer | 否 | - | 端口 | 80 |
|
|
|
|
|
-| └ username | String | 否 | - | 用户名 | admin |
|
|
|
|
|
-| └ brand | String | 否 | - | 品牌 | hikvision |
|
|
|
|
|
-| └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
|
|
|
|
|
-| └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
|
|
|
|
|
-| └ channelNo | String | 否 | - | 通道号 | 1 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "ip": "192.168.1.100",
|
|
|
|
|
- "port": 80,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "brand": "hikvision",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2T47G2-LSU/SL",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 添加摄像头
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/add
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/add
|
|
|
|
|
-
|
|
|
|
|
-描述:添加摄像头
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| cameraId | String | 是 | 50 | 摄像头 ID(唯一标识)<br>Validate[max: 50; ] | cam_001 |
|
|
|
|
|
-| name | String | 是 | 100 | 名称<br>Validate[max: 100; ] | 主摄像头 |
|
|
|
|
|
-| ip | String | 是 | - | IP 地址<br>Validate[regexp: ^((25[0-5] | 2[0-4]\\d | [01]?\\d\\d?)\\.){3}(25[0-5] | 2[0-4]\\d | [01]?\\d\\d?)$; ] | 192.168.1.100 |
|
|
|
|
|
-| port | Integer | 否 | - | 端口 | 80 |
|
|
|
|
|
-| username | String | 否 | 50 | 用户名<br>Validate[max: 50; ] | admin |
|
|
|
|
|
-| password | String | 否 | 100 | 密码<br>Validate[max: 100; ] | password123 |
|
|
|
|
|
-| brand | String | 否 | 30 | 品牌<br>Validate[max: 30; ] | hikvision |
|
|
|
|
|
-| capability | String | 否 | - | 能力: switch_only, ptz_enabled<br>Validate[regexp: ^(switch_only | ptz_enabled)$; ] | ptz_enabled |
|
|
|
|
|
-| lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| model | String | 否 | 100 | 摄像头型号<br>Validate[max: 100; ] | DS-2CD2T47G2-LSU/SL |
|
|
|
|
|
-| rtspUrl | String | 否 | 500 | RTSP 推流地址<br>Validate[max: 500; ] | rtsp://admin:password@192.168.1.100:554/stream1 |
|
|
|
|
|
-| channelNo | String | 否 | 20 | 通道号 (用于多通道摄像头)<br>Validate[max: 20; ] | 1 |
|
|
|
|
|
-| remark | String | 否 | 500 | 备注<br>Validate[max: 500; ] | |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "ip": "192.168.1.100",
|
|
|
|
|
- "port": 80,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "password": "password123",
|
|
|
|
|
- "brand": "hikvision",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2T47G2-LSU/SL",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "remark": "string"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: CameraInfoDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 主摄像头 |
|
|
|
|
|
-| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
|
|
|
|
|
-| └ port | Integer | 否 | - | 端口 | 80 |
|
|
|
|
|
-| └ username | String | 否 | - | 用户名 | admin |
|
|
|
|
|
-| └ brand | String | 否 | - | 品牌 | hikvision |
|
|
|
|
|
-| └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
|
|
|
|
|
-| └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
|
|
|
|
|
-| └ channelNo | String | 否 | - | 通道号 | 1 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "ip": "192.168.1.100",
|
|
|
|
|
- "port": 80,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "brand": "hikvision",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2T47G2-LSU/SL",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 更新摄像头
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/update
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/update
|
|
|
|
|
-
|
|
|
|
|
-描述:更新摄像头
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| id | Long | 否 | - | 摄像头数据库 ID | 1 |
|
|
|
|
|
-| name | String | 否 | - | 名称 | 主摄像头 |
|
|
|
|
|
-| ip | String | 否 | - | IP 地址 | 192.168.1.100 |
|
|
|
|
|
-| port | Integer | 否 | - | 端口 | 80 |
|
|
|
|
|
-| username | String | 否 | - | 用户名 | admin |
|
|
|
|
|
-| password | String | 否 | - | 密码(不传或为空则不修改) | password123 |
|
|
|
|
|
-| brand | String | 否 | - | 品牌 | hikvision |
|
|
|
|
|
-| capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
|
|
|
|
|
-| lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
|
|
|
|
|
-| rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
|
|
|
|
|
-| channelNo | String | 否 | - | 通道号 | 1 |
|
|
|
|
|
-| remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| enabled | Boolean | 否 | - | 启用状态 | true |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "ip": "192.168.1.100",
|
|
|
|
|
- "port": 80,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "password": "password123",
|
|
|
|
|
- "brand": "hikvision",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2T47G2-LSU/SL",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "enabled": true
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: CameraInfoDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 主摄像头 |
|
|
|
|
|
-| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
|
|
|
|
|
-| └ port | Integer | 否 | - | 端口 | 80 |
|
|
|
|
|
-| └ username | String | 否 | - | 用户名 | admin |
|
|
|
|
|
-| └ brand | String | 否 | - | 品牌 | hikvision |
|
|
|
|
|
-| └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
|
|
|
|
|
-| └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
|
|
|
|
|
-| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
|
|
|
|
|
-| └ channelNo | String | 否 | - | 通道号 | 1 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "name": "主摄像头",
|
|
|
|
|
- "ip": "192.168.1.100",
|
|
|
|
|
- "port": 80,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "brand": "hikvision",
|
|
|
|
|
- "capability": "ptz_enabled",
|
|
|
|
|
- "status": "ONLINE",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "model": "DS-2CD2T47G2-LSU/SL",
|
|
|
|
|
- "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
|
|
|
|
|
- "channelNo": "1",
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 删除摄像头
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/delete
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/delete
|
|
|
|
|
-
|
|
|
|
|
-描述:删除摄像头
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---- | ----- | ---- | -------- | ------------- | ------ |
|
|
|
|
|
-| id | int64 | 是 | - | 摄像头主键 ID | 1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 检测摄像头连通性
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/check
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/check
|
|
|
|
|
-
|
|
|
|
|
-描述:检测摄像头连通性
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---- | ----- | ---- | -------- | ------------- | ------ |
|
|
|
|
|
-| id | int64 | 是 | - | 摄像头主键 ID | 1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | ------------------------------ | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | boolean | 否 | - | 响应数据 (ActualType: Boolean) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": false
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取摄像头快照
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/cameras/snapshot
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/cameras/snapshot
|
|
|
|
|
-
|
|
|
|
|
-描述:获取摄像头快照
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---- | ----- | ---- | -------- | ------------- | ------ |
|
|
|
|
|
-| id | int64 | 是 | - | 摄像头主键 ID | 1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: byte) | |
|
|
|
|
|
-| └ - | array[byte[]] | 否 | - | array of byte[] | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- " -": ""
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### PTZ 控制
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/ptz
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/ptz
|
|
|
|
|
-
|
|
|
|
|
-描述:PTZ 控制
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------ | ------ | ---- | -------- | ---------------- | ------ |
|
|
|
|
|
-| id | Long | 否 | - | 摄像头 ID | 1 |
|
|
|
|
|
-| action | String | 否 | - | PTZ 动作 | UP |
|
|
|
|
|
-| speed | Float | 否 | - | 速度 (0.0 - 1.0) | 0.5 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "action": "UP",
|
|
|
|
|
- "speed": 0.5
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | ------------------------------ | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | boolean | 否 | - | 响应数据 (ActualType: Boolean) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": false
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## 机器管理
|
|
|
|
|
-
|
|
|
|
|
-### 获取机器列表(分页)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/machines/list
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/machines/list
|
|
|
|
|
-
|
|
|
|
|
-描述:获取机器列表(分页)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------- | ------- | ---- | -------- | ----------------------------------------------- | --------- |
|
|
|
|
|
-| page | Integer | 否 | - | 页码 (从 1 开始) | 1 |
|
|
|
|
|
-| size | Integer | 否 | - | 每页条数 | 10 |
|
|
|
|
|
-| keyword | String | 否 | - | 搜索关键词 (模糊匹配名称、ID 等) | 摄像头 |
|
|
|
|
|
-| enabled | Boolean | 否 | - | 启用状态过滤 (null=全部, true=启用, false=禁用) | true |
|
|
|
|
|
-| sortBy | String | 否 | - | 排序字段 | createdAt |
|
|
|
|
|
-| sortDir | String | 否 | - | 排序方向 (ASC/DESC) | DESC |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "page": 1,
|
|
|
|
|
- "size": 10,
|
|
|
|
|
- "keyword": "摄像头",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "sortBy": "createdAt",
|
|
|
|
|
- "sortDir": "DESC"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------------- | ---- | -------- | ----------------------------------- | ------------------- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: PageResponse) | |
|
|
|
|
|
-| └ list | List<T> | 否 | | 数据列表 (ActualType: T) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ machineId | String | 否 | - | 机器 ID | machine_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 1 号机 |
|
|
|
|
|
-| └ location | String | 否 | - | 位置 | A 区 1 楼 |
|
|
|
|
|
-| └ description | String | 否 | - | 描述 | 主力机器 |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ cameraCount | Integer | 否 | - | 摄像头数量 | 3 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ page | Integer | 否 | - | 当前页码 (从 1 开始) | 1 |
|
|
|
|
|
-| └ size | Integer | 否 | - | 每页条数 | 10 |
|
|
|
|
|
-| └ total | Long | 否 | - | 总记录数 | 100 |
|
|
|
|
|
-| └ totalPages | Integer | 否 | - | 总页数 | 10 |
|
|
|
|
|
-| └ hasNext | Boolean | 否 | - | 是否有下一页 | true |
|
|
|
|
|
-| └ hasPrevious | Boolean | 否 | - | 是否有上一页 | false |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "list": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "machineId": "machine_001",
|
|
|
|
|
- "name": "1号机",
|
|
|
|
|
- "location": "A区1楼",
|
|
|
|
|
- "description": "主力机器",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "cameraCount": 3,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- "page": 1,
|
|
|
|
|
- "size": 10,
|
|
|
|
|
- "total": 100,
|
|
|
|
|
- "totalPages": 10,
|
|
|
|
|
- "hasNext": true,
|
|
|
|
|
- "hasPrevious": false
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取机器列表(全部,不分页)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/machines/listAll
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/machines/listAll
|
|
|
|
|
-
|
|
|
|
|
-描述:获取机器列表(全部,不分页)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------------- | ---- | -------- | --------------------------- | ------------------- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ machineId | String | 否 | - | 机器 ID | machine_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 1 号机 |
|
|
|
|
|
-| └ location | String | 否 | - | 位置 | A 区 1 楼 |
|
|
|
|
|
-| └ description | String | 否 | - | 描述 | 主力机器 |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ cameraCount | Integer | 否 | - | 摄像头数量 | 3 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "machineId": "machine_001",
|
|
|
|
|
- "name": "1号机",
|
|
|
|
|
- "location": "A区1楼",
|
|
|
|
|
- "description": "主力机器",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "cameraCount": 3,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取机器详情
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/machines/detail
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/machines/detail
|
|
|
|
|
-
|
|
|
|
|
-描述:获取机器详情
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---- | ----- | ---- | -------- | ----------- | ------ |
|
|
|
|
|
-| id | int64 | 是 | - | 机器主键 ID | 1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------------- | ---- | -------- | --------------------------------- | ------------------- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: MachineDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ machineId | String | 否 | - | 机器 ID | machine_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 1 号机 |
|
|
|
|
|
-| └ location | String | 否 | - | 位置 | A 区 1 楼 |
|
|
|
|
|
-| └ description | String | 否 | - | 描述 | 主力机器 |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ cameraCount | Integer | 否 | - | 摄像头数量 | 3 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "machineId": "machine_001",
|
|
|
|
|
- "name": "1号机",
|
|
|
|
|
- "location": "A区1楼",
|
|
|
|
|
- "description": "主力机器",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "cameraCount": 3,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 添加机器
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/machines/add
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/machines/add
|
|
|
|
|
-
|
|
|
|
|
-描述:添加机器
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ----------- | ------ | ---- | -------- | ------------------------------------------ | ----------- |
|
|
|
|
|
-| machineId | String | 是 | 50 | 机器 ID(唯一标识)<br>Validate[max: 50; ] | machine_001 |
|
|
|
|
|
-| name | String | 是 | 100 | 名称<br>Validate[max: 100; ] | 1 号机 |
|
|
|
|
|
-| location | String | 否 | 200 | 位置<br>Validate[max: 200; ] | A 区 1 楼 |
|
|
|
|
|
-| description | String | 否 | 500 | 描述<br>Validate[max: 500; ] | 主力机器 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "machineId": "machine_001",
|
|
|
|
|
- "name": "1号机",
|
|
|
|
|
- "location": "A区1楼",
|
|
|
|
|
- "description": "主力机器"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------------- | ---- | -------- | --------------------------------- | ------------------- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: MachineDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ machineId | String | 否 | - | 机器 ID | machine_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 1 号机 |
|
|
|
|
|
-| └ location | String | 否 | - | 位置 | A 区 1 楼 |
|
|
|
|
|
-| └ description | String | 否 | - | 描述 | 主力机器 |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ cameraCount | Integer | 否 | - | 摄像头数量 | 3 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "machineId": "machine_001",
|
|
|
|
|
- "name": "1号机",
|
|
|
|
|
- "location": "A区1楼",
|
|
|
|
|
- "description": "主力机器",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "cameraCount": 3,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 更新机器
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/machines/update
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/machines/update
|
|
|
|
|
-
|
|
|
|
|
-描述:更新机器
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ----------- | ------- | ---- | -------- | ------------- | --------- |
|
|
|
|
|
-| id | Long | 否 | - | 机器数据库 ID | 1 |
|
|
|
|
|
-| name | String | 否 | - | 名称 | 1 号机 |
|
|
|
|
|
-| location | String | 否 | - | 位置 | A 区 1 楼 |
|
|
|
|
|
-| description | String | 否 | - | 描述 | 主力机器 |
|
|
|
|
|
-| enabled | Boolean | 否 | - | 启用状态 | true |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "name": "1号机",
|
|
|
|
|
- "location": "A区1楼",
|
|
|
|
|
- "description": "主力机器",
|
|
|
|
|
- "enabled": true
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------------- | ---- | -------- | --------------------------------- | ------------------- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: MachineDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ machineId | String | 否 | - | 机器 ID | machine_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 名称 | 1 号机 |
|
|
|
|
|
-| └ location | String | 否 | - | 位置 | A 区 1 楼 |
|
|
|
|
|
-| └ description | String | 否 | - | 描述 | 主力机器 |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ cameraCount | Integer | 否 | - | 摄像头数量 | 3 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "machineId": "machine_001",
|
|
|
|
|
- "name": "1号机",
|
|
|
|
|
- "location": "A区1楼",
|
|
|
|
|
- "description": "主力机器",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "cameraCount": 3,
|
|
|
|
|
- "createdAt": "2026-01-07T10:00:00",
|
|
|
|
|
- "updatedAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 删除机器
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/machines/delete
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/machines/delete
|
|
|
|
|
-
|
|
|
|
|
-描述:删除机器
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---- | ----- | ---- | -------- | ----------- | ------ |
|
|
|
|
|
-| id | int64 | 是 | - | 机器主键 ID | 1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## 推流通道管理
|
|
|
|
|
-
|
|
|
|
|
-### 获取推流通道列表(分页)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/stream-channels/list
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/stream-channels/list
|
|
|
|
|
-
|
|
|
|
|
-描述:获取推流通道列表(分页)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------- | ------- | ---- | -------- | ----------------------------------------------- | --------- |
|
|
|
|
|
-| page | Integer | 否 | - | 页码 (从 1 开始) | 1 |
|
|
|
|
|
-| size | Integer | 否 | - | 每页条数 | 10 |
|
|
|
|
|
-| keyword | String | 否 | - | 搜索关键词 (模糊匹配名称、ID 等) | 摄像头 |
|
|
|
|
|
-| enabled | Boolean | 否 | - | 启用状态过滤 (null=全部, true=启用, false=禁用) | true |
|
|
|
|
|
-| sortBy | String | 否 | - | 排序字段 | createdAt |
|
|
|
|
|
-| sortDir | String | 否 | - | 排序方向 (ASC/DESC) | DESC |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "page": 1,
|
|
|
|
|
- "size": 10,
|
|
|
|
|
- "keyword": "摄像头",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "sortBy": "createdAt",
|
|
|
|
|
- "sortDir": "DESC"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: PageResponse) | |
|
|
|
|
|
-| └ list | List<T> | 否 | | 数据列表 (ActualType: T) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ channelId | String | 否 | - | 通道 ID | cf_channel_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 通道名称 | 主推流通道 |
|
|
|
|
|
-| └ accountId | String | 否 | - | Cloudflare 账户 ID | 5544eac7cfb260d4fec9467d49513cea |
|
|
|
|
|
-| └ liveInputId | String | 否 | - | Cloudflare Live Input ID | b51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| └ customerSubdomain | String | 否 | - | 客户子域名 | customer-pj89kn2ke2tcuh19 |
|
|
|
|
|
-| └ mode | String | 否 | - | 推流模式: WHIP / RTMPS / SRT | WHIP |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish |
|
|
|
|
|
-| └ rtmpsUrl | String | 否 | - | RTMPS 推流地址 | rtmps://live.cloudflare.com:443/live/xxx |
|
|
|
|
|
-| └ hlsPlaybackUrl | String | 否 | - | HLS 播放地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8 |
|
|
|
|
|
-| └ whepPlaybackUrl | String | 否 | - | WHEP 播放地址 (WebRTC) | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play |
|
|
|
|
|
-| └ recordingEnabled | Boolean | 否 | - | 是否启用录制 | false |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ page | Integer | 否 | - | 当前页码 (从 1 开始) | 1 |
|
|
|
|
|
-| └ size | Integer | 否 | - | 每页条数 | 10 |
|
|
|
|
|
-| └ total | Long | 否 | - | 总记录数 | 100 |
|
|
|
|
|
-| └ totalPages | Integer | 否 | - | 总页数 | 10 |
|
|
|
|
|
-| └ hasNext | Boolean | 否 | - | 是否有下一页 | true |
|
|
|
|
|
-| └ hasPrevious | Boolean | 否 | - | 是否有上一页 | false |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "list": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "channelId": "cf_channel_001",
|
|
|
|
|
- "name": "主推流通道",
|
|
|
|
|
- "accountId": "5544eac7cfb260d4fec9467d49513cea",
|
|
|
|
|
- "liveInputId": "b51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "customerSubdomain": "customer-pj89kn2ke2tcuh19",
|
|
|
|
|
- "mode": "WHIP",
|
|
|
|
|
- "whipUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish",
|
|
|
|
|
- "rtmpsUrl": "rtmps://live.cloudflare.com:443/live/xxx",
|
|
|
|
|
- "hlsPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8",
|
|
|
|
|
- "whepPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play",
|
|
|
|
|
- "recordingEnabled": false,
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "updatedAt": "2024-01-15T10:30:00"
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- "page": 1,
|
|
|
|
|
- "size": 10,
|
|
|
|
|
- "total": 100,
|
|
|
|
|
- "totalPages": 10,
|
|
|
|
|
- "hasNext": true,
|
|
|
|
|
- "hasPrevious": false
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取推流通道列表(全部,不分页)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/stream-channels/listAll
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/stream-channels/listAll
|
|
|
|
|
-
|
|
|
|
|
-描述:获取推流通道列表(全部,不分页)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ channelId | String | 否 | - | 通道 ID | cf_channel_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 通道名称 | 主推流通道 |
|
|
|
|
|
-| └ accountId | String | 否 | - | Cloudflare 账户 ID | 5544eac7cfb260d4fec9467d49513cea |
|
|
|
|
|
-| └ liveInputId | String | 否 | - | Cloudflare Live Input ID | b51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| └ customerSubdomain | String | 否 | - | 客户子域名 | customer-pj89kn2ke2tcuh19 |
|
|
|
|
|
-| └ mode | String | 否 | - | 推流模式: WHIP / RTMPS / SRT | WHIP |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish |
|
|
|
|
|
-| └ rtmpsUrl | String | 否 | - | RTMPS 推流地址 | rtmps://live.cloudflare.com:443/live/xxx |
|
|
|
|
|
-| └ hlsPlaybackUrl | String | 否 | - | HLS 播放地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8 |
|
|
|
|
|
-| └ whepPlaybackUrl | String | 否 | - | WHEP 播放地址 (WebRTC) | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play |
|
|
|
|
|
-| └ recordingEnabled | Boolean | 否 | - | 是否启用录制 | false |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "channelId": "cf_channel_001",
|
|
|
|
|
- "name": "主推流通道",
|
|
|
|
|
- "accountId": "5544eac7cfb260d4fec9467d49513cea",
|
|
|
|
|
- "liveInputId": "b51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "customerSubdomain": "customer-pj89kn2ke2tcuh19",
|
|
|
|
|
- "mode": "WHIP",
|
|
|
|
|
- "whipUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish",
|
|
|
|
|
- "rtmpsUrl": "rtmps://live.cloudflare.com:443/live/xxx",
|
|
|
|
|
- "hlsPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8",
|
|
|
|
|
- "whepPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play",
|
|
|
|
|
- "recordingEnabled": false,
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "updatedAt": "2024-01-15T10:30:00"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取推流通道详情
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/stream-channels/detail
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/stream-channels/detail
|
|
|
|
|
-
|
|
|
|
|
-描述:获取推流通道详情
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---- | ----- | ---- | -------- | --------------- | ------ |
|
|
|
|
|
-| id | int64 | 是 | - | 推流通道主键 ID | 1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: StreamChannelInfoDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ channelId | String | 否 | - | 通道 ID | cf_channel_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 通道名称 | 主推流通道 |
|
|
|
|
|
-| └ accountId | String | 否 | - | Cloudflare 账户 ID | 5544eac7cfb260d4fec9467d49513cea |
|
|
|
|
|
-| └ liveInputId | String | 否 | - | Cloudflare Live Input ID | b51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| └ customerSubdomain | String | 否 | - | 客户子域名 | customer-pj89kn2ke2tcuh19 |
|
|
|
|
|
-| └ mode | String | 否 | - | 推流模式: WHIP / RTMPS / SRT | WHIP |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish |
|
|
|
|
|
-| └ rtmpsUrl | String | 否 | - | RTMPS 推流地址 | rtmps://live.cloudflare.com:443/live/xxx |
|
|
|
|
|
-| └ hlsPlaybackUrl | String | 否 | - | HLS 播放地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8 |
|
|
|
|
|
-| └ whepPlaybackUrl | String | 否 | - | WHEP 播放地址 (WebRTC) | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play |
|
|
|
|
|
-| └ recordingEnabled | Boolean | 否 | - | 是否启用录制 | false |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "channelId": "cf_channel_001",
|
|
|
|
|
- "name": "主推流通道",
|
|
|
|
|
- "accountId": "5544eac7cfb260d4fec9467d49513cea",
|
|
|
|
|
- "liveInputId": "b51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "customerSubdomain": "customer-pj89kn2ke2tcuh19",
|
|
|
|
|
- "mode": "WHIP",
|
|
|
|
|
- "whipUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish",
|
|
|
|
|
- "rtmpsUrl": "rtmps://live.cloudflare.com:443/live/xxx",
|
|
|
|
|
- "hlsPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8",
|
|
|
|
|
- "whepPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play",
|
|
|
|
|
- "recordingEnabled": false,
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "updatedAt": "2024-01-15T10:30:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 添加推流通道
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/stream-channels/add
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/stream-channels/add
|
|
|
|
|
-
|
|
|
|
|
-描述:添加推流通道
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| channelId | String | 是 | - | 通道 ID | cf_channel_001 |
|
|
|
|
|
-| name | String | 是 | - | 通道名称 | 主推流通道 |
|
|
|
|
|
-| accountId | String | 否 | - | Cloudflare 账户 ID | 5544eac7cfb260d4fec9467d49513cea |
|
|
|
|
|
-| apiToken | String | 否 | - | Cloudflare API Token | d_f4nGUKFlB66MMMIS3NfVlUbn0A0p4jlrW5BbZW |
|
|
|
|
|
-| liveInputId | String | 是 | - | Cloudflare Live Input ID | b51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| streamKey | String | 否 | - | 流密钥 (用于 RTMPS) | 8c108b4025d3278b188b443e8a6c5503kb51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| customerSubdomain | String | 是 | - | 客户子域名 | customer-pj89kn2ke2tcuh19 |
|
|
|
|
|
-| mode | String | 否 | - | 推流模式: WHIP / RTMPS / SRT | WHIP |
|
|
|
|
|
-| recordingEnabled | Boolean | 否 | - | 是否启用录制 | false |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "channelId": "cf_channel_001",
|
|
|
|
|
- "name": "主推流通道",
|
|
|
|
|
- "accountId": "5544eac7cfb260d4fec9467d49513cea",
|
|
|
|
|
- "apiToken": "d_f4nGUKFlB66MMMIS3NfVlUbn0A0p4jlrW5BbZW",
|
|
|
|
|
- "liveInputId": "b51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "streamKey": "8c108b4025d3278b188b443e8a6c5503kb51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "customerSubdomain": "customer-pj89kn2ke2tcuh19",
|
|
|
|
|
- "mode": "WHIP",
|
|
|
|
|
- "recordingEnabled": false
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: StreamChannelInfoDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ channelId | String | 否 | - | 通道 ID | cf_channel_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 通道名称 | 主推流通道 |
|
|
|
|
|
-| └ accountId | String | 否 | - | Cloudflare 账户 ID | 5544eac7cfb260d4fec9467d49513cea |
|
|
|
|
|
-| └ liveInputId | String | 否 | - | Cloudflare Live Input ID | b51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| └ customerSubdomain | String | 否 | - | 客户子域名 | customer-pj89kn2ke2tcuh19 |
|
|
|
|
|
-| └ mode | String | 否 | - | 推流模式: WHIP / RTMPS / SRT | WHIP |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish |
|
|
|
|
|
-| └ rtmpsUrl | String | 否 | - | RTMPS 推流地址 | rtmps://live.cloudflare.com:443/live/xxx |
|
|
|
|
|
-| └ hlsPlaybackUrl | String | 否 | - | HLS 播放地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8 |
|
|
|
|
|
-| └ whepPlaybackUrl | String | 否 | - | WHEP 播放地址 (WebRTC) | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play |
|
|
|
|
|
-| └ recordingEnabled | Boolean | 否 | - | 是否启用录制 | false |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "channelId": "cf_channel_001",
|
|
|
|
|
- "name": "主推流通道",
|
|
|
|
|
- "accountId": "5544eac7cfb260d4fec9467d49513cea",
|
|
|
|
|
- "liveInputId": "b51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "customerSubdomain": "customer-pj89kn2ke2tcuh19",
|
|
|
|
|
- "mode": "WHIP",
|
|
|
|
|
- "whipUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish",
|
|
|
|
|
- "rtmpsUrl": "rtmps://live.cloudflare.com:443/live/xxx",
|
|
|
|
|
- "hlsPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8",
|
|
|
|
|
- "whepPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play",
|
|
|
|
|
- "recordingEnabled": false,
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "updatedAt": "2024-01-15T10:30:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 更新推流通道
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/stream-channels/update
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/stream-channels/update
|
|
|
|
|
-
|
|
|
|
|
-描述:更新推流通道
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| id | Long | 是 | - | 主键 ID | 1 |
|
|
|
|
|
-| name | String | 否 | - | 通道名称 | 主推流通道 |
|
|
|
|
|
-| accountId | String | 否 | - | Cloudflare 账户 ID | 5544eac7cfb260d4fec9467d49513cea |
|
|
|
|
|
-| apiToken | String | 否 | - | Cloudflare API Token | d_f4nGUKFlB66MMMIS3NfVlUbn0A0p4jlrW5BbZW |
|
|
|
|
|
-| liveInputId | String | 否 | - | Cloudflare Live Input ID | b51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| streamKey | String | 否 | - | 流密钥 (用于 RTMPS) | 8c108b4025d3278b188b443e8a6c5503kb51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| customerSubdomain | String | 否 | - | 客户子域名 | customer-pj89kn2ke2tcuh19 |
|
|
|
|
|
-| mode | String | 否 | - | 推流模式: WHIP / RTMPS / SRT | WHIP |
|
|
|
|
|
-| recordingEnabled | Boolean | 否 | - | 是否启用录制 | false |
|
|
|
|
|
-| enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "name": "主推流通道",
|
|
|
|
|
- "accountId": "5544eac7cfb260d4fec9467d49513cea",
|
|
|
|
|
- "apiToken": "d_f4nGUKFlB66MMMIS3NfVlUbn0A0p4jlrW5BbZW",
|
|
|
|
|
- "liveInputId": "b51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "streamKey": "8c108b4025d3278b188b443e8a6c5503kb51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "customerSubdomain": "customer-pj89kn2ke2tcuh19",
|
|
|
|
|
- "mode": "WHIP",
|
|
|
|
|
- "recordingEnabled": false,
|
|
|
|
|
- "enabled": true
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: StreamChannelInfoDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 主键 ID | 1 |
|
|
|
|
|
-| └ channelId | String | 否 | - | 通道 ID | cf_channel_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 通道名称 | 主推流通道 |
|
|
|
|
|
-| └ accountId | String | 否 | - | Cloudflare 账户 ID | 5544eac7cfb260d4fec9467d49513cea |
|
|
|
|
|
-| └ liveInputId | String | 否 | - | Cloudflare Live Input ID | b51e49994b6fd9e56b6f1fdfcd339fe6 |
|
|
|
|
|
-| └ customerSubdomain | String | 否 | - | 客户子域名 | customer-pj89kn2ke2tcuh19 |
|
|
|
|
|
-| └ mode | String | 否 | - | 推流模式: WHIP / RTMPS / SRT | WHIP |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish |
|
|
|
|
|
-| └ rtmpsUrl | String | 否 | - | RTMPS 推流地址 | rtmps://live.cloudflare.com:443/live/xxx |
|
|
|
|
|
-| └ hlsPlaybackUrl | String | 否 | - | HLS 播放地址 | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8 |
|
|
|
|
|
-| └ whepPlaybackUrl | String | 否 | - | WHEP 播放地址 (WebRTC) | https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play |
|
|
|
|
|
-| └ recordingEnabled | Boolean | 否 | - | 是否启用录制 | false |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "channelId": "cf_channel_001",
|
|
|
|
|
- "name": "主推流通道",
|
|
|
|
|
- "accountId": "5544eac7cfb260d4fec9467d49513cea",
|
|
|
|
|
- "liveInputId": "b51e49994b6fd9e56b6f1fdfcd339fe6",
|
|
|
|
|
- "customerSubdomain": "customer-pj89kn2ke2tcuh19",
|
|
|
|
|
- "mode": "WHIP",
|
|
|
|
|
- "whipUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/publish",
|
|
|
|
|
- "rtmpsUrl": "rtmps://live.cloudflare.com:443/live/xxx",
|
|
|
|
|
- "hlsPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/manifest/video.m3u8",
|
|
|
|
|
- "whepPlaybackUrl": "https://customer-pj89kn2ke2tcuh19.cloudflarestream.com/b51e49994b6fd9e56b6f1fdfcd339fe6/webRTC/play",
|
|
|
|
|
- "recordingEnabled": false,
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "updatedAt": "2024-01-15T10:30:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 删除推流通道
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/stream-channels/delete
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/stream-channels/delete
|
|
|
|
|
-
|
|
|
|
|
-描述:删除推流通道
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---- | ----- | ---- | -------- | --------------- | ------ |
|
|
|
|
|
-| id | int64 | 是 | - | 推流通道主键 ID | 1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## 管理员认证
|
|
|
|
|
-
|
|
|
|
|
-### 登录
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/auth/login
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/auth/login
|
|
|
|
|
-
|
|
|
|
|
-描述:登录
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| -------- | ------ | ---- | -------- | ----------------------------- | ------ |
|
|
|
|
|
-| username | String | 是 | 50 | 用户名<br>Validate[max: 50; ] | admin |
|
|
|
|
|
-| password | String | 是 | 100 | 密码<br>Validate[max: 100; ] | 123456 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "password": "123456"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: LoginResponse) | |
|
|
|
|
|
-| └ token | String | 否 | - | JWT Token | eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiJ9.xxx |
|
|
|
|
|
-| └ tokenType | String | 否 | - | Token 类型 | Bearer |
|
|
|
|
|
-| └ expiresIn | Long | 否 | - | 过期时间(秒) | 86400 |
|
|
|
|
|
-| └ admin | AdminInfoDTO | 否 | | 用户信息 | |
|
|
|
|
|
-| └ id | Long | 否 | - | 用户 ID | 1 |
|
|
|
|
|
-| └ username | String | 否 | - | 用户名 | admin |
|
|
|
|
|
-| └ nickname | String | 否 | - | 昵称 | 管理员 |
|
|
|
|
|
-| └ role | String | 否 | - | 角色 | ADMIN |
|
|
|
|
|
-| └ lastLoginAt | LocalDateTime | 否 | - | 最后登录时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiJ9.xxx",
|
|
|
|
|
- "tokenType": "Bearer",
|
|
|
|
|
- "expiresIn": 86400,
|
|
|
|
|
- "admin": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "nickname": "管理员",
|
|
|
|
|
- "role": "ADMIN",
|
|
|
|
|
- "lastLoginAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 登出
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/auth/logout
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/auth/logout
|
|
|
|
|
-
|
|
|
|
|
-描述:登出
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取当前用户信息(直接从 Token 解析,不查询数据库)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/auth/info
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/auth/info
|
|
|
|
|
-
|
|
|
|
|
-描述:获取当前用户信息(直接从 Token 解析,不查询数据库)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------------- | ---- | -------- | ----------------------------------- | ------------------- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: AdminInfoDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 用户 ID | 1 |
|
|
|
|
|
-| └ username | String | 否 | - | 用户名 | admin |
|
|
|
|
|
-| └ nickname | String | 否 | - | 昵称 | 管理员 |
|
|
|
|
|
-| └ role | String | 否 | - | 角色 | ADMIN |
|
|
|
|
|
-| └ lastLoginAt | LocalDateTime | 否 | - | 最后登录时间 | 2026-01-07T10:00:00 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 1,
|
|
|
|
|
- "username": "admin",
|
|
|
|
|
- "nickname": "管理员",
|
|
|
|
|
- "role": "ADMIN",
|
|
|
|
|
- "lastLoginAt": "2026-01-07T10:00:00"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 修改密码
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/auth/password
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/auth/password
|
|
|
|
|
-
|
|
|
|
|
-描述:修改密码
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ----------- | ------ | ---- | -------- | -------------------------------------------- | ----------- |
|
|
|
|
|
-| oldPassword | String | 是 | - | 旧密码 | oldpassword |
|
|
|
|
|
-| newPassword | String | 是 | 100 | 新密码(6-100 字符)<br>Validate[max: 100; ] | newpassword |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "oldPassword": "oldpassword",
|
|
|
|
|
- "newPassword": "newpassword"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## 统计
|
|
|
|
|
-
|
|
|
|
|
-### 获取仪表盘统计数据
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/stats/dashboard
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/stats/dashboard
|
|
|
|
|
-
|
|
|
|
|
-描述:获取仪表盘统计数据
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------------- | ------- | ---- | -------- | ---------------------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: DashboardStatsDTO) | |
|
|
|
|
|
-| └ machineTotal | Long | 否 | - | 机器总数 | 10 |
|
|
|
|
|
-| └ machineEnabled | Long | 否 | - | 启用的机器数 | 8 |
|
|
|
|
|
-| └ cameraTotal | Long | 否 | - | 摄像头总数 | 20 |
|
|
|
|
|
-| └ cameraOnline | Long | 否 | - | 在线摄像头数 | 15 |
|
|
|
|
|
-| └ cameraOffline | Long | 否 | - | 离线摄像头数 | 5 |
|
|
|
|
|
-| └ channelTotal | Long | 否 | - | 通道总数 | 40 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "machineTotal": 10,
|
|
|
|
|
- "machineEnabled": 8,
|
|
|
|
|
- "cameraTotal": 20,
|
|
|
|
|
- "cameraOnline": 15,
|
|
|
|
|
- "cameraOffline": 5,
|
|
|
|
|
- "channelTotal": 40
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## LSS 节点管理
|
|
|
|
|
-
|
|
|
|
|
-### 获取 LSS 节点列表(分页)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/lss-nodes/list
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/lss-nodes/list
|
|
|
|
|
-
|
|
|
|
|
-描述:获取 LSS 节点列表(分页)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------- | ------- | ---- | -------- | ----------------------------------------------- | --------- |
|
|
|
|
|
-| page | Integer | 否 | - | 页码 (从 1 开始) | 1 |
|
|
|
|
|
-| size | Integer | 否 | - | 每页条数 | 10 |
|
|
|
|
|
-| keyword | String | 否 | - | 搜索关键词 (模糊匹配名称、ID 等) | 摄像头 |
|
|
|
|
|
-| enabled | Boolean | 否 | - | 启用状态过滤 (null=全部, true=启用, false=禁用) | true |
|
|
|
|
|
-| sortBy | String | 否 | - | 排序字段 | createdAt |
|
|
|
|
|
-| sortDir | String | 否 | - | 排序方向 (ASC/DESC) | DESC |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "page": 1,
|
|
|
|
|
- "size": 10,
|
|
|
|
|
- "keyword": "摄像头",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "sortBy": "createdAt",
|
|
|
|
|
- "sortDir": "DESC"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: PageResponse) | |
|
|
|
|
|
-| └ list | List<T> | 否 | | 数据列表 (ActualType: T) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 数据库主键 | 0 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | |
|
|
|
|
|
-| └ lssName | String | 否 | - | LSS 节点名称 | |
|
|
|
|
|
-| └ machineId | String | 否 | - | 关联的机器 ID | |
|
|
|
|
|
-| └ address | String | 否 | - | LSS 地址 (IP:Port) | |
|
|
|
|
|
-| └ maxTasks | Integer | 否 | - | 最大并发任务数 | 0 |
|
|
|
|
|
-| └ currentTasks | Integer | 否 | - | 当前任务数 | 0 |
|
|
|
|
|
-| └ status | String | 否 | - | 节点状态: ONLINE, OFFLINE, BUSY, MAINTENANCE | |
|
|
|
|
|
-| └ ffmpegVersion | String | 否 | - | FFmpeg 版本 | |
|
|
|
|
|
-| └ systemInfo | String | 否 | - | 系统信息 (JSON) | |
|
|
|
|
|
-| └ lastHeartbeatAt | LocalDateTime | 否 | - | 最后心跳时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ loadRate | Double | 否 | - | 负载率 (0.0 - 1.0) | 0.0 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ page | Integer | 否 | - | 当前页码 (从 1 开始) | 1 |
|
|
|
|
|
-| └ size | Integer | 否 | - | 每页条数 | 10 |
|
|
|
|
|
-| └ total | Long | 否 | - | 总记录数 | 100 |
|
|
|
|
|
-| └ totalPages | Integer | 否 | - | 总页数 | 10 |
|
|
|
|
|
-| └ hasNext | Boolean | 否 | - | 是否有下一页 | true |
|
|
|
|
|
-| └ hasPrevious | Boolean | 否 | - | 是否有上一页 | false |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "list": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 0,
|
|
|
|
|
- "lssId": "string",
|
|
|
|
|
- "lssName": "string",
|
|
|
|
|
- "machineId": "string",
|
|
|
|
|
- "address": "string",
|
|
|
|
|
- "maxTasks": 0,
|
|
|
|
|
- "currentTasks": 0,
|
|
|
|
|
- "status": "string",
|
|
|
|
|
- "ffmpegVersion": "string",
|
|
|
|
|
- "systemInfo": "string",
|
|
|
|
|
- "lastHeartbeatAt": "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "loadRate": 0,
|
|
|
|
|
- "createdAt": "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
- "updatedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- "page": 1,
|
|
|
|
|
- "size": 10,
|
|
|
|
|
- "total": 100,
|
|
|
|
|
- "totalPages": 10,
|
|
|
|
|
- "hasNext": true,
|
|
|
|
|
- "hasPrevious": false
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取全部 LSS 节点列表
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/lss-nodes/listAll
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/lss-nodes/listAll
|
|
|
|
|
-
|
|
|
|
|
-描述:获取全部 LSS 节点列表
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 数据库主键 | 0 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | |
|
|
|
|
|
-| └ lssName | String | 否 | - | LSS 节点名称 | |
|
|
|
|
|
-| └ machineId | String | 否 | - | 关联的机器 ID | |
|
|
|
|
|
-| └ address | String | 否 | - | LSS 地址 (IP:Port) | |
|
|
|
|
|
-| └ maxTasks | Integer | 否 | - | 最大并发任务数 | 0 |
|
|
|
|
|
-| └ currentTasks | Integer | 否 | - | 当前任务数 | 0 |
|
|
|
|
|
-| └ status | String | 否 | - | 节点状态: ONLINE, OFFLINE, BUSY, MAINTENANCE | |
|
|
|
|
|
-| └ ffmpegVersion | String | 否 | - | FFmpeg 版本 | |
|
|
|
|
|
-| └ systemInfo | String | 否 | - | 系统信息 (JSON) | |
|
|
|
|
|
-| └ lastHeartbeatAt | LocalDateTime | 否 | - | 最后心跳时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ loadRate | Double | 否 | - | 负载率 (0.0 - 1.0) | 0.0 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 0,
|
|
|
|
|
- "lssId": "string",
|
|
|
|
|
- "lssName": "string",
|
|
|
|
|
- "machineId": "string",
|
|
|
|
|
- "address": "string",
|
|
|
|
|
- "maxTasks": 0,
|
|
|
|
|
- "currentTasks": 0,
|
|
|
|
|
- "status": "string",
|
|
|
|
|
- "ffmpegVersion": "string",
|
|
|
|
|
- "systemInfo": "string",
|
|
|
|
|
- "lastHeartbeatAt": "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "loadRate": 0,
|
|
|
|
|
- "createdAt": "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
- "updatedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取 LSS 节点详情
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/lss-nodes/detail
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/lss-nodes/detail
|
|
|
|
|
-
|
|
|
|
|
-描述:获取 LSS 节点详情
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ----- | ------ | ---- | -------- | ----------- | ------ |
|
|
|
|
|
-| lssId | string | 是 | - | LSS 节点 ID | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: LssNodeDTO) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 数据库主键 | 0 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | |
|
|
|
|
|
-| └ lssName | String | 否 | - | LSS 节点名称 | |
|
|
|
|
|
-| └ machineId | String | 否 | - | 关联的机器 ID | |
|
|
|
|
|
-| └ address | String | 否 | - | LSS 地址 (IP:Port) | |
|
|
|
|
|
-| └ maxTasks | Integer | 否 | - | 最大并发任务数 | 0 |
|
|
|
|
|
-| └ currentTasks | Integer | 否 | - | 当前任务数 | 0 |
|
|
|
|
|
-| └ status | String | 否 | - | 节点状态: ONLINE, OFFLINE, BUSY, MAINTENANCE | |
|
|
|
|
|
-| └ ffmpegVersion | String | 否 | - | FFmpeg 版本 | |
|
|
|
|
|
-| └ systemInfo | String | 否 | - | 系统信息 (JSON) | |
|
|
|
|
|
-| └ lastHeartbeatAt | LocalDateTime | 否 | - | 最后心跳时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ loadRate | Double | 否 | - | 负载率 (0.0 - 1.0) | 0.0 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "id": 0,
|
|
|
|
|
- "lssId": "string",
|
|
|
|
|
- "lssName": "string",
|
|
|
|
|
- "machineId": "string",
|
|
|
|
|
- "address": "string",
|
|
|
|
|
- "maxTasks": 0,
|
|
|
|
|
- "currentTasks": 0,
|
|
|
|
|
- "status": "string",
|
|
|
|
|
- "ffmpegVersion": "string",
|
|
|
|
|
- "systemInfo": "string",
|
|
|
|
|
- "lastHeartbeatAt": "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "loadRate": 0,
|
|
|
|
|
- "createdAt": "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
- "updatedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 根据机器 ID 获取关联的 LSS 节点
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/lss-nodes/byMachine
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/lss-nodes/byMachine
|
|
|
|
|
-
|
|
|
|
|
-描述:根据机器 ID 获取关联的 LSS 节点
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --------- | ------ | ---- | -------- | ------- | ------ |
|
|
|
|
|
-| machineId | string | 是 | - | 机器 ID | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ id | Long | 否 | - | 数据库主键 | 0 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | |
|
|
|
|
|
-| └ lssName | String | 否 | - | LSS 节点名称 | |
|
|
|
|
|
-| └ machineId | String | 否 | - | 关联的机器 ID | |
|
|
|
|
|
-| └ address | String | 否 | - | LSS 地址 (IP:Port) | |
|
|
|
|
|
-| └ maxTasks | Integer | 否 | - | 最大并发任务数 | 0 |
|
|
|
|
|
-| └ currentTasks | Integer | 否 | - | 当前任务数 | 0 |
|
|
|
|
|
-| └ status | String | 否 | - | 节点状态: ONLINE, OFFLINE, BUSY, MAINTENANCE | |
|
|
|
|
|
-| └ ffmpegVersion | String | 否 | - | FFmpeg 版本 | |
|
|
|
|
|
-| └ systemInfo | String | 否 | - | 系统信息 (JSON) | |
|
|
|
|
|
-| └ lastHeartbeatAt | LocalDateTime | 否 | - | 最后心跳时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ enabled | Boolean | 否 | - | 是否启用 | true |
|
|
|
|
|
-| └ loadRate | Double | 否 | - | 负载率 (0.0 - 1.0) | 0.0 |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "id": 0,
|
|
|
|
|
- "lssId": "string",
|
|
|
|
|
- "lssName": "string",
|
|
|
|
|
- "machineId": "string",
|
|
|
|
|
- "address": "string",
|
|
|
|
|
- "maxTasks": 0,
|
|
|
|
|
- "currentTasks": 0,
|
|
|
|
|
- "status": "string",
|
|
|
|
|
- "ffmpegVersion": "string",
|
|
|
|
|
- "systemInfo": "string",
|
|
|
|
|
- "lastHeartbeatAt": "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
- "enabled": true,
|
|
|
|
|
- "loadRate": 0,
|
|
|
|
|
- "createdAt": "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
- "updatedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 启用/禁用 LSS 节点
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/lss-nodes/setEnabled
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/lss-nodes/setEnabled
|
|
|
|
|
-
|
|
|
|
|
-描述:启用/禁用 LSS 节点
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------- | ------- | ---- | -------- | ----------- | ------ |
|
|
|
|
|
-| lssId | string | 是 | - | LSS 节点 ID | |
|
|
|
|
|
-| enabled | boolean | 是 | - | 是否启用 | true |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 删除 LSS 节点
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/admin/lss-nodes/delete
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/lss-nodes/delete
|
|
|
|
|
-
|
|
|
|
|
-描述:删除 LSS 节点
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ----- | ------ | ---- | -------- | ----------- | ------ |
|
|
|
|
|
-| lssId | string | 是 | - | LSS 节点 ID | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取 LSS 节点统计信息
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/admin/lss-nodes/stats
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/lss-nodes/stats
|
|
|
|
|
-
|
|
|
|
|
-描述:获取 LSS 节点统计信息
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------- | ------- | ---- | -------- | ----------------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: LssNodeStats) | |
|
|
|
|
|
-| └ total | long | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| └ online | long | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| └ offline | long | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| └ busy | long | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| └ maintenance | long | 否 | - | No comments found. | 0 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "total": 0,
|
|
|
|
|
- "online": 0,
|
|
|
|
|
- "offline": 0,
|
|
|
|
|
- "busy": 0,
|
|
|
|
|
- "maintenance": 0
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## 本地视频推流 Controller
|
|
|
|
|
-
|
|
|
|
|
-本地视频直接推送到 Cloudflare WHIP:
|
|
|
|
|
-
|
|
|
|
|
-- POST /stream/local/start 启动本地视频推流
|
|
|
|
|
-- POST /stream/local/stop 停止本地视频推流
|
|
|
|
|
-- GET /stream/local/{name} 获取推流状态
|
|
|
|
|
-- GET /stream/local/list 获取所有本地视频推流
|
|
|
|
|
-
|
|
|
|
|
-### 启动本地视频推流
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/stream/local/start
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/stream/local/start
|
|
|
|
|
-
|
|
|
|
|
-描述:启动本地视频推流
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --------------- | ------- | ---- | -------- | ------------------------------------------- | ------ |
|
|
|
|
|
-| streamName | String | 否 | - | 流名称(唯一标识) | |
|
|
|
|
|
-| videoPath | String | 否 | - | 视频文件路径 | |
|
|
|
|
|
-| loop | Boolean | 否 | - | 是否循环播放 | true |
|
|
|
|
|
-| targetChannelId | String | 否 | - | 目标推流通道 ID(可选,不传则使用默认通道) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "streamName": "string",
|
|
|
|
|
- "videoPath": "string",
|
|
|
|
|
- "loop": true,
|
|
|
|
|
- "targetChannelId": "string"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| -------------- | ------- | ---- | -------- | ------------------------------------------ | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: LocalVideoStreamDTO) | |
|
|
|
|
|
-| └ streamName | String | 否 | - | 流名称 | |
|
|
|
|
|
-| └ sourceType | String | 否 | - | 源类型:local_video 或 rtsp_camera | |
|
|
|
|
|
-| └ sourcePath | String | 否 | - | 源路径(视频文件路径或 RTSP URL) | |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | MediaMTX 提供的 RTSP URL | |
|
|
|
|
|
-| └ loop | Boolean | 否 | - | 是否循环播放 | true |
|
|
|
|
|
-| └ streamTaskId | String | 否 | - | 推流任务 ID(如果已推送到 Cloudflare) | |
|
|
|
|
|
-| └ playbackUrl | String | 否 | - | 播放地址(Cloudflare HLS/WHEP) | |
|
|
|
|
|
-| └ status | String | 否 | - | 状态 | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "streamName": "string",
|
|
|
|
|
- "sourceType": "string",
|
|
|
|
|
- "sourcePath": "string",
|
|
|
|
|
- "rtspUrl": "string",
|
|
|
|
|
- "loop": true,
|
|
|
|
|
- "streamTaskId": "string",
|
|
|
|
|
- "playbackUrl": "string",
|
|
|
|
|
- "status": "string"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 停止本地视频推流
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/stream/local/stop
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/stream/local/stop
|
|
|
|
|
-
|
|
|
|
|
-描述:停止本地视频推流
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------ | ---- | -------- | ------------------ | ------ |
|
|
|
|
|
-| streamName | string | 是 | - | No comments found. | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取本地视频推流状态
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/stream/local/{streamName}
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/stream/local/{streamName}
|
|
|
|
|
-
|
|
|
|
|
-描述:获取本地视频推流状态
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### Path 参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 必填 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ---- | ------------------ | ------ |
|
|
|
|
|
-| streamName | 是 | No comments found. | |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| -------------- | ------- | ---- | -------- | ------------------------------------------ | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: LocalVideoStreamDTO) | |
|
|
|
|
|
-| └ streamName | String | 否 | - | 流名称 | |
|
|
|
|
|
-| └ sourceType | String | 否 | - | 源类型:local_video 或 rtsp_camera | |
|
|
|
|
|
-| └ sourcePath | String | 否 | - | 源路径(视频文件路径或 RTSP URL) | |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | MediaMTX 提供的 RTSP URL | |
|
|
|
|
|
-| └ loop | Boolean | 否 | - | 是否循环播放 | true |
|
|
|
|
|
-| └ streamTaskId | String | 否 | - | 推流任务 ID(如果已推送到 Cloudflare) | |
|
|
|
|
|
-| └ playbackUrl | String | 否 | - | 播放地址(Cloudflare HLS/WHEP) | |
|
|
|
|
|
-| └ status | String | 否 | - | 状态 | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "streamName": "string",
|
|
|
|
|
- "sourceType": "string",
|
|
|
|
|
- "sourcePath": "string",
|
|
|
|
|
- "rtspUrl": "string",
|
|
|
|
|
- "loop": true,
|
|
|
|
|
- "streamTaskId": "string",
|
|
|
|
|
- "playbackUrl": "string",
|
|
|
|
|
- "status": "string"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取所有本地视频推流
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/stream/local/list
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/stream/local/list
|
|
|
|
|
-
|
|
|
|
|
-描述:获取所有本地视频推流
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| -------------- | ------- | ---- | -------- | -------------------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ streamName | String | 否 | - | 流名称 | |
|
|
|
|
|
-| └ sourceType | String | 否 | - | 源类型:local_video 或 rtsp_camera | |
|
|
|
|
|
-| └ sourcePath | String | 否 | - | 源路径(视频文件路径或 RTSP URL) | |
|
|
|
|
|
-| └ rtspUrl | String | 否 | - | MediaMTX 提供的 RTSP URL | |
|
|
|
|
|
-| └ loop | Boolean | 否 | - | 是否循环播放 | true |
|
|
|
|
|
-| └ streamTaskId | String | 否 | - | 推流任务 ID(如果已推送到 Cloudflare) | |
|
|
|
|
|
-| └ playbackUrl | String | 否 | - | 播放地址(Cloudflare HLS/WHEP) | |
|
|
|
|
|
-| └ status | String | 否 | - | 状态 | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "streamName": "string",
|
|
|
|
|
- "sourceType": "string",
|
|
|
|
|
- "sourcePath": "string",
|
|
|
|
|
- "rtspUrl": "string",
|
|
|
|
|
- "loop": true,
|
|
|
|
|
- "streamTaskId": "string",
|
|
|
|
|
- "playbackUrl": "string",
|
|
|
|
|
- "status": "string"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## 推流服务 Controller
|
|
|
|
|
-
|
|
|
|
|
-推流管理 API 接口:
|
|
|
|
|
-
|
|
|
|
|
-- POST /stream/start 启动推流任务
|
|
|
|
|
-- POST /stream/stop 停止推流任务
|
|
|
|
|
-- GET /stream/task/{streamSn} 获取任务状态
|
|
|
|
|
-- GET /stream/tasks 获取 LSS 推流任务列表
|
|
|
|
|
-- GET /stream/tasks/active 获取所有活动任务
|
|
|
|
|
-- GET /stream/channels 获取推流通道列表
|
|
|
|
|
-- POST /stream/switch 切换推流源
|
|
|
|
|
-
|
|
|
|
|
-### 启动推流任务
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/stream/start
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/stream/start
|
|
|
|
|
-
|
|
|
|
|
-描述:启动推流任务
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| name | String | 否 | - | 任务名称 | 投币机 1 号直播 |
|
|
|
|
|
-| lssId | String | 否 | - | LSS 节点 ID(可选,不传则自动选择) | lss_001 |
|
|
|
|
|
-| cameraId | String | 否 | - | 摄像头 ID(必填) | cam_001 |
|
|
|
|
|
-| sourceRtspUrl | String | 否 | - | 源 RTSP 地址(可选,如不传则从摄像头服务获取) | rtsp://admin:password@192.168.1.101:554/stream1 |
|
|
|
|
|
-| profile | String | 否 | - | 推流配置档位: low_latency / standard / file_loop | low_latency |
|
|
|
|
|
-| whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish |
|
|
|
|
|
-| playbackUrl | String | 否 | - | WebRTC 播放地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/play |
|
|
|
|
|
-| remark | String | 否 | - | 备注 | |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "name": "投币机1号直播",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "sourceRtspUrl": "rtsp://admin:password@192.168.1.101:554/stream1",
|
|
|
|
|
- "profile": "low_latency",
|
|
|
|
|
- "whipUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish",
|
|
|
|
|
- "playbackUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/play",
|
|
|
|
|
- "remark": "string"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: StreamTaskDTO) | |
|
|
|
|
|
-| └ streamSn | String | 否 | - | 推流任务流水号 | stream_abc123def456 |
|
|
|
|
|
-| └ name | String | 否 | - | 任务名称 | 投币机 1 号直播 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ sourceRtspUrl | String | 否 | - | 源 RTSP 地址 | rtsp://admin:password@192.168.1.101:554/stream1 |
|
|
|
|
|
-| └ profile | String | 否 | - | 推流配置档位: low_latency / standard / file_loop | low_latency |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish |
|
|
|
|
|
-| └ playbackUrl | String | 否 | - | WebRTC 播放地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/play |
|
|
|
|
|
-| └ status | String | 否 | - | 推流状态: IDLE, STARTING, STREAMING, STOPPED, ERROR | STREAMING |
|
|
|
|
|
-| └ statusDescription | String | 否 | - | 状态描述 | 推流中 |
|
|
|
|
|
-| └ errorMessage | String | 否 | - | 错误信息 | |
|
|
|
|
|
-| └ retryCount | int | 否 | - | 重试次数 | 0 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ startedAt | LocalDateTime | 否 | - | 开始推流时间 | 2024-01-15T10:30:05 |
|
|
|
|
|
-| └ stoppedAt | LocalDateTime | 否 | - | 停止推流时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "streamSn": "stream_abc123def456",
|
|
|
|
|
- "name": "投币机1号直播",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "sourceRtspUrl": "rtsp://admin:password@192.168.1.101:554/stream1",
|
|
|
|
|
- "profile": "low_latency",
|
|
|
|
|
- "whipUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish",
|
|
|
|
|
- "playbackUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/play",
|
|
|
|
|
- "status": "STREAMING",
|
|
|
|
|
- "statusDescription": "推流中",
|
|
|
|
|
- "errorMessage": "string",
|
|
|
|
|
- "retryCount": 0,
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "startedAt": "2024-01-15T10:30:05",
|
|
|
|
|
- "stoppedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 停止推流任务
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/stream/stop
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/stream/stop
|
|
|
|
|
-
|
|
|
|
|
-描述:停止推流任务
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------ | ------ | ---- | -------- | ---------------------------------------------------- | ------------------- |
|
|
|
|
|
-| taskId | String | 否 | - | 推流任务流水号(与 lssId 二选一) | stream_abc123def456 |
|
|
|
|
|
-| lssId | String | 否 | - | LSS 节点 ID(与 taskId 二选一,停止该 LSS 所有推流) | lss_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "taskId": "stream_abc123def456",
|
|
|
|
|
- "lssId": "lss_001"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取任务状态
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/stream/task/{streamSn}
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/stream/task/{streamSn}
|
|
|
|
|
-
|
|
|
|
|
-描述:获取任务状态
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### Path 参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 必填 | 描述 | 示例值 |
|
|
|
|
|
-| -------- | ---- | -------------- | ------------------- |
|
|
|
|
|
-| streamSn | 是 | 推流任务流水号 | stream_abc123def456 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: StreamTaskDTO) | |
|
|
|
|
|
-| └ streamSn | String | 否 | - | 推流任务流水号 | stream_abc123def456 |
|
|
|
|
|
-| └ name | String | 否 | - | 任务名称 | 投币机 1 号直播 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ sourceRtspUrl | String | 否 | - | 源 RTSP 地址 | rtsp://admin:password@192.168.1.101:554/stream1 |
|
|
|
|
|
-| └ profile | String | 否 | - | 推流配置档位: low_latency / standard / file_loop | low_latency |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish |
|
|
|
|
|
-| └ playbackUrl | String | 否 | - | WebRTC 播放地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/play |
|
|
|
|
|
-| └ status | String | 否 | - | 推流状态: IDLE, STARTING, STREAMING, STOPPED, ERROR | STREAMING |
|
|
|
|
|
-| └ statusDescription | String | 否 | - | 状态描述 | 推流中 |
|
|
|
|
|
-| └ errorMessage | String | 否 | - | 错误信息 | |
|
|
|
|
|
-| └ retryCount | int | 否 | - | 重试次数 | 0 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ startedAt | LocalDateTime | 否 | - | 开始推流时间 | 2024-01-15T10:30:05 |
|
|
|
|
|
-| └ stoppedAt | LocalDateTime | 否 | - | 停止推流时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "streamSn": "stream_abc123def456",
|
|
|
|
|
- "name": "投币机1号直播",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "sourceRtspUrl": "rtsp://admin:password@192.168.1.101:554/stream1",
|
|
|
|
|
- "profile": "low_latency",
|
|
|
|
|
- "whipUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish",
|
|
|
|
|
- "playbackUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/play",
|
|
|
|
|
- "status": "STREAMING",
|
|
|
|
|
- "statusDescription": "推流中",
|
|
|
|
|
- "errorMessage": "string",
|
|
|
|
|
- "retryCount": 0,
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "startedAt": "2024-01-15T10:30:05",
|
|
|
|
|
- "stoppedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取 LSS 推流任务列表
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/stream/tasks
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/stream/tasks
|
|
|
|
|
-
|
|
|
|
|
-描述:获取 LSS 推流任务列表
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ----- | ------ | ---- | -------- | ----------- | ------- |
|
|
|
|
|
-| lssId | string | 是 | - | LSS 节点 ID | lss_001 |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ streamSn | String | 否 | - | 推流任务流水号 | stream_abc123def456 |
|
|
|
|
|
-| └ name | String | 否 | - | 任务名称 | 投币机 1 号直播 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ sourceRtspUrl | String | 否 | - | 源 RTSP 地址 | rtsp://admin:password@192.168.1.101:554/stream1 |
|
|
|
|
|
-| └ profile | String | 否 | - | 推流配置档位: low_latency / standard / file_loop | low_latency |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish |
|
|
|
|
|
-| └ playbackUrl | String | 否 | - | WebRTC 播放地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/play |
|
|
|
|
|
-| └ status | String | 否 | - | 推流状态: IDLE, STARTING, STREAMING, STOPPED, ERROR | STREAMING |
|
|
|
|
|
-| └ statusDescription | String | 否 | - | 状态描述 | 推流中 |
|
|
|
|
|
-| └ errorMessage | String | 否 | - | 错误信息 | |
|
|
|
|
|
-| └ retryCount | int | 否 | - | 重试次数 | 0 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ startedAt | LocalDateTime | 否 | - | 开始推流时间 | 2024-01-15T10:30:05 |
|
|
|
|
|
-| └ stoppedAt | LocalDateTime | 否 | - | 停止推流时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "streamSn": "stream_abc123def456",
|
|
|
|
|
- "name": "投币机1号直播",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "sourceRtspUrl": "rtsp://admin:password@192.168.1.101:554/stream1",
|
|
|
|
|
- "profile": "low_latency",
|
|
|
|
|
- "whipUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish",
|
|
|
|
|
- "playbackUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/play",
|
|
|
|
|
- "status": "STREAMING",
|
|
|
|
|
- "statusDescription": "推流中",
|
|
|
|
|
- "errorMessage": "string",
|
|
|
|
|
- "retryCount": 0,
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "startedAt": "2024-01-15T10:30:05",
|
|
|
|
|
- "stoppedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取所有活动任务
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/stream/tasks/active
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/stream/tasks/active
|
|
|
|
|
-
|
|
|
|
|
-描述:获取所有活动任务
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ streamSn | String | 否 | - | 推流任务流水号 | stream_abc123def456 |
|
|
|
|
|
-| └ name | String | 否 | - | 任务名称 | 投币机 1 号直播 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ sourceRtspUrl | String | 否 | - | 源 RTSP 地址 | rtsp://admin:password@192.168.1.101:554/stream1 |
|
|
|
|
|
-| └ profile | String | 否 | - | 推流配置档位: low_latency / standard / file_loop | low_latency |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish |
|
|
|
|
|
-| └ playbackUrl | String | 否 | - | WebRTC 播放地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/play |
|
|
|
|
|
-| └ status | String | 否 | - | 推流状态: IDLE, STARTING, STREAMING, STOPPED, ERROR | STREAMING |
|
|
|
|
|
-| └ statusDescription | String | 否 | - | 状态描述 | 推流中 |
|
|
|
|
|
-| └ errorMessage | String | 否 | - | 错误信息 | |
|
|
|
|
|
-| └ retryCount | int | 否 | - | 重试次数 | 0 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ startedAt | LocalDateTime | 否 | - | 开始推流时间 | 2024-01-15T10:30:05 |
|
|
|
|
|
-| └ stoppedAt | LocalDateTime | 否 | - | 停止推流时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "streamSn": "stream_abc123def456",
|
|
|
|
|
- "name": "投币机1号直播",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "sourceRtspUrl": "rtsp://admin:password@192.168.1.101:554/stream1",
|
|
|
|
|
- "profile": "low_latency",
|
|
|
|
|
- "whipUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish",
|
|
|
|
|
- "playbackUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/play",
|
|
|
|
|
- "status": "STREAMING",
|
|
|
|
|
- "statusDescription": "推流中",
|
|
|
|
|
- "errorMessage": "string",
|
|
|
|
|
- "retryCount": 0,
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "startedAt": "2024-01-15T10:30:05",
|
|
|
|
|
- "stoppedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取推流通道列表
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/stream/channels
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/stream/channels
|
|
|
|
|
-
|
|
|
|
|
-描述:获取推流通道列表
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | array | 否 | | 响应数据 (ActualType: List) | |
|
|
|
|
|
-| └ channelId | String | 否 | - | 通道 ID | cf_channel_001 |
|
|
|
|
|
-| └ name | String | 否 | - | 通道名称 | 主推流通道 |
|
|
|
|
|
-| └ mode | String | 否 | - | 推流模式: WHIP, RTMPS | WHIP |
|
|
|
|
|
-| └ hlsPlaybackUrl | String | 否 | - | HLS 播放地址 | https://customer-xxx.cloudflarestream.com/xxx/manifest/video.m3u8 |
|
|
|
|
|
-| └ recordingEnabled | boolean | 否 | - | 是否启用录制 | false |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": [
|
|
|
|
|
- {
|
|
|
|
|
- "channelId": "cf_channel_001",
|
|
|
|
|
- "name": "主推流通道",
|
|
|
|
|
- "mode": "WHIP",
|
|
|
|
|
- "hlsPlaybackUrl": "https://customer-xxx.cloudflarestream.com/xxx/manifest/video.m3u8",
|
|
|
|
|
- "recordingEnabled": false
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 切换推流源
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/stream/switch
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/stream/switch
|
|
|
|
|
-
|
|
|
|
|
-描述:切换推流源
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ----------- | ------ | ---- | -------- | -------------- | ----------------------------------------------- |
|
|
|
|
|
-| streamSn | String | 是 | - | 推流任务流水号 | stream_abc123def456 |
|
|
|
|
|
-| newCameraId | String | 是 | - | 新的摄像头 ID | cam_001 |
|
|
|
|
|
-| newRtspUrl | String | 是 | - | 新的 RTSP 地址 | rtsp://admin:password@192.168.1.101:554/stream1 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "streamSn": "stream_abc123def456",
|
|
|
|
|
- "newCameraId": "cam_001",
|
|
|
|
|
- "newRtspUrl": "rtsp://admin:password@192.168.1.101:554/stream1"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: StreamTaskDTO) | |
|
|
|
|
|
-| └ streamSn | String | 否 | - | 推流任务流水号 | stream_abc123def456 |
|
|
|
|
|
-| └ name | String | 否 | - | 任务名称 | 投币机 1 号直播 |
|
|
|
|
|
-| └ lssId | String | 否 | - | LSS 节点 ID | lss_001 |
|
|
|
|
|
-| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
|
|
|
|
|
-| └ sourceRtspUrl | String | 否 | - | 源 RTSP 地址 | rtsp://admin:password@192.168.1.101:554/stream1 |
|
|
|
|
|
-| └ profile | String | 否 | - | 推流配置档位: low_latency / standard / file_loop | low_latency |
|
|
|
|
|
-| └ whipUrl | String | 否 | - | WHIP 推流地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish |
|
|
|
|
|
-| └ playbackUrl | String | 否 | - | WebRTC 播放地址 | https://customer-xxx.cloudflarestream.com/xxx/webRTC/play |
|
|
|
|
|
-| └ status | String | 否 | - | 推流状态: IDLE, STARTING, STREAMING, STOPPED, ERROR | STREAMING |
|
|
|
|
|
-| └ statusDescription | String | 否 | - | 状态描述 | 推流中 |
|
|
|
|
|
-| └ errorMessage | String | 否 | - | 错误信息 | |
|
|
|
|
|
-| └ retryCount | int | 否 | - | 重试次数 | 0 |
|
|
|
|
|
-| └ remark | String | 否 | - | 备注 | |
|
|
|
|
|
-| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2024-01-15T10:30:00 |
|
|
|
|
|
-| └ startedAt | LocalDateTime | 否 | - | 开始推流时间 | 2024-01-15T10:30:05 |
|
|
|
|
|
-| └ stoppedAt | LocalDateTime | 否 | - | 停止推流时间 | yyyy-MM-dd HH:mm:ss |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "streamSn": "stream_abc123def456",
|
|
|
|
|
- "name": "投币机1号直播",
|
|
|
|
|
- "lssId": "lss_001",
|
|
|
|
|
- "cameraId": "cam_001",
|
|
|
|
|
- "sourceRtspUrl": "rtsp://admin:password@192.168.1.101:554/stream1",
|
|
|
|
|
- "profile": "low_latency",
|
|
|
|
|
- "whipUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/publish",
|
|
|
|
|
- "playbackUrl": "https://customer-xxx.cloudflarestream.com/xxx/webRTC/play",
|
|
|
|
|
- "status": "STREAMING",
|
|
|
|
|
- "statusDescription": "推流中",
|
|
|
|
|
- "errorMessage": "string",
|
|
|
|
|
- "retryCount": 0,
|
|
|
|
|
- "remark": "string",
|
|
|
|
|
- "createdAt": "2024-01-15T10:30:00",
|
|
|
|
|
- "startedAt": "2024-01-15T10:30:05",
|
|
|
|
|
- "stoppedAt": "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## 房间控制 Controller
|
|
|
|
|
-
|
|
|
|
|
-房间播放 API 接口:
|
|
|
|
|
-
|
|
|
|
|
-- GET /room/{roomId}/play 获取播放信息(按需启动推流)
|
|
|
|
|
-- POST /room/{roomId}/stop 停止房间推流
|
|
|
|
|
-
|
|
|
|
|
-### 获取房间播放信息
|
|
|
|
|
-
|
|
|
|
|
-按需启动推流:
|
|
|
|
|
-
|
|
|
|
|
-- 检查 FFmpeg 是否在跑
|
|
|
|
|
-- 没跑则自动启动
|
|
|
|
|
-- 返回 WHEP URL (WebRTC 播放)
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/room/{roomId}/play
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/room/{roomId}/play
|
|
|
|
|
-
|
|
|
|
|
-描述:获取房间播放信息
|
|
|
|
|
-
|
|
|
|
|
-按需启动推流:
|
|
|
|
|
-
|
|
|
|
|
-- 检查 FFmpeg 是否在跑
|
|
|
|
|
-- 没跑则自动启动
|
|
|
|
|
-- 返回 WHEP URL (WebRTC 播放)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### Path 参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 必填 | 描述 | 示例值 |
|
|
|
|
|
-| ------ | ---- | ------- | ------ |
|
|
|
|
|
-| roomId | 是 | 房间 ID | |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| -------------- | ------- | ---- | -------- | --------------------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: RoomPlayResponse) | |
|
|
|
|
|
-| └ roomId | String | 否 | - | 房间 ID | |
|
|
|
|
|
-| └ taskId | String | 否 | - | 推流任务 ID | |
|
|
|
|
|
-| └ whepUrl | String | 否 | - | WHEP 播放地址 (WebRTC) | |
|
|
|
|
|
-| └ status | String | 否 | - | 推流状态 | |
|
|
|
|
|
-| └ newlyStarted | boolean | 否 | - | 是否为新启动的推流 | true |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "roomId": "string",
|
|
|
|
|
- "taskId": "string",
|
|
|
|
|
- "whepUrl": "string",
|
|
|
|
|
- "status": "string",
|
|
|
|
|
- "newlyStarted": true
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 停止房间推流
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/room/{roomId}/stop
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/room/{roomId}/stop
|
|
|
|
|
-
|
|
|
|
|
-描述:停止房间推流
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### Path 参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 必填 | 描述 | 示例值 |
|
|
|
|
|
-| ------ | ---- | ------- | ------ |
|
|
|
|
|
-| roomId | 是 | 房间 ID | |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## Ably Token 接口
|
|
|
|
|
-
|
|
|
|
|
-前端通过此接口获取 Ably Token,用于连接 Ably 实时通信
|
|
|
|
|
-
|
|
|
|
|
-### 获取 Ably Token
|
|
|
|
|
-
|
|
|
|
|
-前端使用此 Token 连接 Ably,只授予订阅权限(不能发布)
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/ably/token
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/ably/token
|
|
|
|
|
-
|
|
|
|
|
-描述:获取 Ably Token
|
|
|
|
|
-
|
|
|
|
|
-前端使用此 Token 连接 Ably,只授予订阅权限(不能发布)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Query Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| -------- | ------ | ---- | -------- | --------------------------------- | ---------- |
|
|
|
|
|
-| clientId | string | 否 | - | 客户端标识(如用户 ID 或会话 ID) | web-client |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------ | ------- | ---- | -------- | -------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: Map) | |
|
|
|
|
|
-| └ mapKey | Object | 否 | | A map key. | |
|
|
|
|
|
-| └ any object | object | 否 | - | any object. | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "mapKey": {
|
|
|
|
|
- "any object": {}
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### 获取 Ably 连接信息
|
|
|
|
|
-
|
|
|
|
|
-返回前端连接 Ably 所需的配置信息(不包含 API Key)
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `GET` http://localhost:10050/api/ably/config
|
|
|
|
|
-- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/ably/config
|
|
|
|
|
-
|
|
|
|
|
-描述:获取 Ably 连接信息
|
|
|
|
|
-
|
|
|
|
|
-返回前端连接 Ably 所需的配置信息(不包含 API Key)
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ------------ | ------- | ---- | -------- | -------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | | 响应数据 (ActualType: Map) | |
|
|
|
|
|
-| └ mapKey | Object | 否 | | A map key. | |
|
|
|
|
|
-| └ any object | object | 否 | - | any object. | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {
|
|
|
|
|
- "mapKey": {
|
|
|
|
|
- "any object": {}
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-## LSS 回调接口
|
|
|
|
|
-
|
|
|
|
|
-接收来自 LSS (Local Sender Service) 的回调请求:
|
|
|
|
|
-
|
|
|
|
|
-- 节点注册
|
|
|
|
|
-- 心跳上报
|
|
|
|
|
-- 任务状态回调
|
|
|
|
|
-
|
|
|
|
|
-### LSS 节点注册
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/lss/register
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/lss/register
|
|
|
|
|
-
|
|
|
|
|
-描述:LSS 节点注册
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ----------------- | ---------- | ---- | -------- | ------------------ | ------ |
|
|
|
|
|
-| nodeId | String | 否 | - | No comments found. | |
|
|
|
|
|
-| nodeName | String | 否 | - | No comments found. | |
|
|
|
|
|
-| nodeIp | String | 否 | - | No comments found. | |
|
|
|
|
|
-| nodePort | Integer | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| machineId | String | 否 | - | No comments found. | |
|
|
|
|
|
-| maxTasks | int | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| ffmpegPath | String | 否 | - | No comments found. | |
|
|
|
|
|
-| systemInfo | SystemInfo | 否 | | No comments found. | |
|
|
|
|
|
-| └ os | String | 否 | - | No comments found. | |
|
|
|
|
|
-| └ cpuCores | int | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| └ totalMemory | long | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| └ availableMemory | long | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| └ ffmpegVersion | String | 否 | - | No comments found. | |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "nodeId": "string",
|
|
|
|
|
- "nodeName": "string",
|
|
|
|
|
- "nodeIp": "string",
|
|
|
|
|
- "nodePort": 0,
|
|
|
|
|
- "machineId": "string",
|
|
|
|
|
- "maxTasks": 0,
|
|
|
|
|
- "ffmpegPath": "string",
|
|
|
|
|
- "systemInfo": {
|
|
|
|
|
- "os": "string",
|
|
|
|
|
- "cpuCores": 0,
|
|
|
|
|
- "totalMemory": 0,
|
|
|
|
|
- "availableMemory": 0,
|
|
|
|
|
- "ffmpegVersion": "string"
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### LSS 心跳上报
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/lss/heartbeat
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/lss/heartbeat
|
|
|
|
|
-
|
|
|
|
|
-描述:LSS 心跳上报
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --------------- | ------ | ---- | -------- | ------------------ | ------ |
|
|
|
|
|
-| nodeId | String | 否 | - | No comments found. | |
|
|
|
|
|
-| activeTaskCount | int | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| cpuUsage | Double | 否 | - | No comments found. | 0.0 |
|
|
|
|
|
-| memoryUsage | Double | 否 | - | No comments found. | 0.0 |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "nodeId": "string",
|
|
|
|
|
- "activeTaskCount": 0,
|
|
|
|
|
- "cpuUsage": 0,
|
|
|
|
|
- "memoryUsage": 0
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|
|
|
-
|
|
|
|
|
-### LSS 任务状态回调
|
|
|
|
|
-
|
|
|
|
|
-维护人:TG Live
|
|
|
|
|
-
|
|
|
|
|
-#### URL
|
|
|
|
|
-
|
|
|
|
|
-- 本地开发环境: `POST` http://localhost:10050/api/lss/task/callback
|
|
|
|
|
-- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/lss/task/callback
|
|
|
|
|
-
|
|
|
|
|
-描述:LSS 任务状态回调
|
|
|
|
|
-
|
|
|
|
|
-ContentType:`application/json`
|
|
|
|
|
-
|
|
|
|
|
-#### 请求参数
|
|
|
|
|
-
|
|
|
|
|
-##### Body Parameter
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| --- | --- | --- | --- | --- | --- |
|
|
|
|
|
-| taskId | String | 否 | - | No comments found. | |
|
|
|
|
|
-| nodeId | String | 否 | - | No comments found. | |
|
|
|
|
|
-| callbackType | enum | 否 | - | No comments found.<br/>[Enum values:<br/>STARTED()<br/>STOPPED()<br/>ERROR()<br/>STATUS_UPDATE()<br/>] | STARTED |
|
|
|
|
|
-| status | String | 否 | - | No comments found. | |
|
|
|
|
|
-| processId | Long | 否 | - | No comments found. | 0 |
|
|
|
|
|
-| hlsPlaybackUrl | String | 否 | - | No comments found. | |
|
|
|
|
|
-| errorMessage | String | 否 | - | No comments found. | |
|
|
|
|
|
-
|
|
|
|
|
-#### 请求示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "taskId": "string",
|
|
|
|
|
- "nodeId": "string",
|
|
|
|
|
- "callbackType": "STARTED",
|
|
|
|
|
- "status": "string",
|
|
|
|
|
- "processId": 0,
|
|
|
|
|
- "hlsPlaybackUrl": "string",
|
|
|
|
|
- "errorMessage": "string"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 响应参数
|
|
|
|
|
-
|
|
|
|
|
-| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
|
|
|
|
|
-| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
|
|
|
|
|
-| success | Boolean | 否 | - | 请求是否成功 | true |
|
|
|
|
|
-| errCode | String | 否 | - | 错误码(失败时返回) | |
|
|
|
|
|
-| errMessage | String | 否 | - | 错误信息(失败时返回) | |
|
|
|
|
|
-| data | object | 否 | - | 响应数据 (ActualType: Void) | |
|
|
|
|
|
-
|
|
|
|
|
-#### 响应示例
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|
|
|
-{
|
|
|
|
|
- "success": true,
|
|
|
|
|
- "errCode": "string",
|
|
|
|
|
- "errMessage": "string",
|
|
|
|
|
- "data": {}
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 错误码
|
|
|
|
|
-
|
|
|
|
|
-无
|
|
|