# yuanxiao-common **Repository Path**: git-cg/yuanxiao-common ## Basic Information - **Project Name**: yuanxiao-common - **Description**: 公共仓库-测试测试测试测试测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-25 - **Last Updated**: 2024-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README --- title: 巡课系统-流媒体API v1.0.0 --- # 巡课系统-流媒体API > v1.0.0 描述:媒体服务管理. Base URLs: # Authentication # 流媒体-API ## POST 添加节点并刷新流配置 POST /api/node/saveAndInit > Body 请求参数 ```json { "audioSrc": "音频src", "groupId": 100, "classId": 99, "ip": "127.0.0.4", "hdmiRtmp": "rtmp://111.230.101.227:1935/10012004/1", "net1Origin": "rtsp://admin@admin192.168.2.3", "net1Rtmp": "rtmp://111.230.101.227:1935/10012004/2", "net2Origin": "rtsp://admin@admin192.168.2.3", "net2Rtmp": "rtmp://111.230.101.227:1935/10012004/3", "hdmiPixel": null, "net1Pixel": null, "net2Pixel": null, "desc": "101教室" } ``` ### 请求参数 |名称|位置|类型|必选|说明| |---|---|---|---|---| |body|body|object| 否 |none| |» ip|body|string| 是 |编码器ip| |» classId|body|integer(int64)| 是 |班级教室编号| |» groupId|body|integer(int64)| 是 |学校编号| |» hdmiRtmp|body|string| 是 |hdmi推流地址(讲台画面)| |» net1Origin|body|string| 是 |net1拉流地址(学生画面)| |» net1Rtmp|body|string| 是 |net1推流地址(学生画面)| |» net2Origin|body|string| 是 |net2拉流地址(教师画面)| |» net2Rtmp|body|string| 是 |net2推流地址(教师画面)| |» desc|body|string| 否 |备注| > 返回示例 > 成功 ```json { "code": 200, "success": true, "data": null, "msg": "操作成功" } ``` ### 返回结果 |状态码|状态码含义|说明|数据模型| |---|---|---|---| |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline| ### 返回数据结构 状态码 **200** |名称|类型|必选|约束|中文名|说明| |---|---|---|---|---|---| |» code|integer(int32)|false|none|响应码|成功返回0| |» data|object|false|none||none| |» msg|string|false|none|响应说明|none| |» success|boolean|false|none|成功状态|true/false| ## POST 更新节点并刷新流配置 POST /api/node/update > Body 请求参数 ```json { "audioSrc": "音频src", "groupId": 100, "classId": 99, "ip": "127.0.0.4", "hdmiRtmp": "rtmp://111.230.101.227:1935/10012004/1", "net1Origin": "rtsp://admin@admin192.168.2.3", "net1Rtmp": "rtmp://111.230.101.227:1935/10012004/2", "net2Origin": "rtsp://admin@admin192.168.2.3", "net2Rtmp": "rtmp://111.230.101.227:1935/10012004/3", "hdmiPixel": null, "net1Pixel": null, "net2Pixel": null, "desc": "101教室" } ``` ### 请求参数 |名称|位置|类型|必选|说明| |---|---|---|---|---| |Authorization|header|string| 否 |none| |body|body|object| 否 |none| |» ip|body|string| 是 |编码器ip| |» classId|body|integer(int64)| 是 |班级教室编号| |» groupId|body|integer(int64)| 是 |学校编号| |» hdmiRtmp|body|string| 是 |hdmi推流地址(讲台画面)| |» net1Origin|body|string| 是 |net1拉流地址(学生画面)| |» net1Rtmp|body|string| 是 |net1推流地址(学生画面)| |» net2Origin|body|string| 是 |net2拉流地址(教师画面)| |» net2Rtmp|body|string| 是 |net2推流地址(教师画面)| |» desc|body|string| 否 |备注| > 返回示例 > 成功 ```json " \"code\": 200,\r\n \"success\": true,\r\n \"data\": null,\r\n \"msg\": \"操作成功\"\r\n}" ``` ### 返回结果 |状态码|状态码含义|说明|数据模型| |---|---|---|---| |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline| ### 返回数据结构 状态码 **200** |名称|类型|必选|约束|中文名|说明| |---|---|---|---|---|---| |» code|integer(int32)|false|none|响应码|成功返回0| |» data|object|false|none||none| |» msg|string|false|none|响应说明|none| |» success|boolean|false|none|成功状态|true/false| ## POST 关闭流 POST /api/stream/stop ### 请求参数 |名称|位置|类型|必选|说明| |---|---|---|---|---| |classId|query|string| 是 |班级教室编号| |groupId|query|string| 是 |学校编号| |Authorization|header|string| 否 |none| > 返回示例 > 成功 ```json { "code": 200, "success": true, "data": null, "msg": "操作成功" } ``` ### 返回结果 |状态码|状态码含义|说明|数据模型| |---|---|---|---| |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline| ### 返回数据结构 状态码 **200** |名称|类型|必选|约束|中文名|说明| |---|---|---|---|---|---| |» code|integer(int32)|false|none|响应码|成功返回0| |» data|object|false|none||none| |» msg|string|false|none|响应说明|none| |» success|boolean|false|none|成功状态|true/false| ## GET 获取拉流地址 GET /live/addr ### 请求参数 |名称|位置|类型|必选|说明| |---|---|---|---|---| |classId|query|string| 是 |班级教室编号| |groupId|query|string| 是 |学校编号| |Authorization|header|string| 否 |none| > 返回示例 > 成功 ```json { "code": 200, "success": true, "data": { "hdmi": { "flvUrl": "http://111.230.101.227:8080/2001659858497170309159/1.flv", "hlsUrl": null }, "net1": { "flvUrl": "http://111.230.101.227:8080/2001659858497170309159/2.flv", "hlsUrl": null }, "net2": { "flvUrl": "http://111.230.101.227:8080/2001659858497170309159/3.flv", "hlsUrl": null } }, "msg": "操作成功" } ``` ### 返回结果 |状态码|状态码含义|说明|数据模型| |---|---|---|---| |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline| ### 返回数据结构 状态码 **200** |名称|类型|必选|约束|中文名|说明| |---|---|---|---|---|---| |» code|integer(int32)|false|none|响应码|成功返回0| |» data|object|false|none||none| |»» hdmi|object|false|none|编码器信息|讲台画面| |»»» flvUrl|string|false|none|flv播放地址|none| |»»» hlsUrl|string|true|none|hls播放地址|none| |»» net1|object|false|none|摄像头1|学生画面| |»»» flvUrl|string|false|none|flv播放地址|none| |»»» hlsUrl|string|false|none|hls播放地址|none| |»» net2|object|false|none|摄像头2|教师画面| |»»» flvUrl|string|false|none||none| |»»» hlsUrl|string|false|none||none| |» msg|string|false|none|响应说明|none| |» success|boolean|false|none|成功状态|true/false| ## POST 创建历史回放 POST /record/split ### 请求参数 |名称|位置|类型|必选|说明| |---|---|---|---|---| |groupId|query|string| 是 |学校编号| |dayCount|query|integer| 否 |天数(默认7天)| |Authorization|header|string| 否 |none| > 返回示例 > 成功 ```json { "code": 200, "success": true, "data": null, "msg": "操作成功" } ``` ### 返回结果 |状态码|状态码含义|说明|数据模型| |---|---|---|---| |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline| ### 返回数据结构 状态码 **200** |名称|类型|必选|约束|中文名|说明| |---|---|---|---|---|---| |» code|integer(int32)|false|none|响应码|成功返回0| |» data|object|false|none||none| |» msg|string|false|none|响应说明|none| |» success|boolean|false|none|成功状态|true/false| ## GET 根据code获取回放地址 GET /record/findByCode ### 请求参数 |名称|位置|类型|必选|说明| |---|---|---|---|---| |code|query|string| 是 |历史code| |Authorization|header|string| 否 |none| > 返回示例 > 成功 ```json { "code": 200, "success": true, "data": [ { "appId": "2001659858497170309159", "ip": "172.17.0.1", "stream": "1", "totalDuration": "70.06", "createTime": "2023-12-06 15:21:03", "code": "1723280582181388244", "playUrl": "http://172.17.0.1:8080/2001659858497170309159/1/20231206/sheu799.m3u8", "tag": "hdmi", "coverUrl": "http://172.17.0.1:8080/2001659858497170309159/1/20231206/1701847270686.jpg" }, { "appId": "2001659858497170309159", "ip": "172.17.0.2", "stream": "2", "totalDuration": "70.06", "createTime": "2023-12-06 15:21:03", "code": "1723280582181388244", "playUrl": "http://172.17.0.1:8080/2001659858497170309159/1/20231206/sheu799.m3u8", "tag": "net1", "coverUrl": "http://172.17.0.1:8080/2001659858497170309159/1/20231206/1701847270686.jpg" }, { "appId": "2001659858497170309159", "ip": "172.17.0.3", "stream": "3", "totalDuration": "70.06", "createTime": "2023-12-06 15:21:03", "code": "1723280582181388244", "playUrl": "http://172.17.0.1:8080/2001659858497170309159/1/20231206/sheu799.m3u8", "tag": "net2", "coverUrl": "http://172.17.0.1:8080/2001659858497170309159/1/20231206/1701847270686.jpg" } ], "msg": "操作成功" } ``` ### 返回结果 |状态码|状态码含义|说明|数据模型| |---|---|---|---| |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline| ### 返回数据结构 状态码 **200** |名称|类型|必选|约束|中文名|说明| |---|---|---|---|---|---| |» code|integer|true|none|响应码|成功返回0| |» data|[object]|true|none||响应数据| |»» id|integer|true|none||数据ID| |»» appId|string|true|none||学校编号+班级教室编号| |»» ip|string|true|none||设备IP| |»» stream|string|true|none||路流3| |»» createTime|string|true|none||创建时间(YYYY-MM-DD HH:ss:mm)| |»» code|string|true|none||历史编号| |»» playUrl|string|true|none||回放地址(.m3u8)| |»» tag|string|true|none||设备标签(hdmi:编码器,net1:学生画面,net2:教室画面)| |»» coverUrl|string|true|none||封面截图(.jpg/.png)| |»» totalDuration|number|true|none||视频时长(秒)| |» msg|string|true|none|响应说明|none| |» success|boolean|true|none|成功状态|true/false| ## POST 开启流 POST /api/stream/start ### 请求参数 |名称|位置|类型|必选|说明| |---|---|---|---|---| |classId|query|string| 是 |班级教室编号| |groupId|query|string| 是 |学校编号| |Authorization|header|string| 否 |none| > 返回示例 > 成功 ```json { "code": 200, "success": true, "data": null, "msg": "操作成功" } ``` ### 返回结果 |状态码|状态码含义|说明|数据模型| |---|---|---|---| |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline| ### 返回数据结构 状态码 **200** |名称|类型|必选|约束|中文名|说明| |---|---|---|---|---|---| |» code|integer(int32)|false|none|响应码|成功返回0| |» data|object|false|none||none| |» msg|string|false|none|响应说明|none| |» success|boolean|false|none|成功状态|true/false| ## POST 资源存储周期设置 POST /resource/save/set/up/cycle ### 请求参数 |名称|位置|类型|必选|说明| |---|---|---|---|---| |groupId|query|string| 是 |学校编号| |dayCount|query|integer| 否 |天数(默认7天)| |Authorization|header|string| 否 |none| > 返回示例 > 成功 ```json { "code": 200, "success": true, "data": null, "msg": "操作成功" } ``` ### 返回结果 |状态码|状态码含义|说明|数据模型| |---|---|---|---| |200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline| ### 返回数据结构 状态码 **200** |名称|类型|必选|约束|中文名|说明| |---|---|---|---|---|---| |» code|integer(int32)|false|none|响应码|成功返回0| |» data|object|false|none||none| |» msg|string|false|none|响应说明|none| |» success|boolean|false|none|成功状态|true/false| # 数据模型