更新VideoStack相关接口

夏楚
2024-06-19 14:08:55 +08:00
parent a1d9d9f83a
commit bd3e6e9dac

@@ -1304,7 +1304,9 @@ typedef enum {
### 34、VideoStack多视频流拼接宫格功能
> 如需使用该功能,需要编译时开启 ENABLE_FFMPEG 和 ENABLE_X264
> 如需使用该功能,需要编译时开启 ENABLE_VIDEOSTACK、ENABLE_FFMPEG 和 ENABLE_X264
>
> ⚠️注意: 需关闭cpu亲和性 (启动命令后面添加`--affinity=0` 完整示例: `MediaServer.exe --affinity=0`
#### 34.1 添加多屏拼接 (/index/api/stack/start)
@@ -1312,23 +1314,26 @@ typedef enum {
- **参数**:
| 参数名 | 描述 | 备注 |
| ------ | --------- | --------------------- |
| gapv | 垂直间隙比例 | |
| gaph | 水平间隙比例 | |
| width | 拼接后的视频宽度 | |
| height | 拼接后的视频高度 | |
| url | 视频流URL列表 | 需要拼接的视频流(RTSP/RTMP) |
| id | 拼接任务的唯一标识 | |
| row | 宫格的行数 | |
| col | 宫格的列数 | |
| span | 自定义宫格跨度配置 | 把指定的格子合并为一个大格子  (焦点屏) |
| 参数名 | 描述 | 备注 |
| ------ | --------- | ------------------------------------------------------------------------- |
| gapv | 垂直间隙比例 | 可不填则默认为0 |
| gaph | 水平间隙比例 | 可不填则默认为0 |
| width | 拼接后的视频宽度 | |
| height | 拼接后的视频高度 | |
| url | 视频流URL列表 | 需要拼接的视频流(RTSP/RTMP)数组元素数量和数组个数需与row和col对应具体的url可为空字符串取不到流时会填充一张默认的断流图片 |
| id | 拼接任务的唯一标识 | 该示例中为`stack_test`则取流url为`rtsp://ip/live/stack_test`  (其他类型的流取流规则与常规流相同) |
| row | 宫格的行数 | |
| col | 宫格的列数 | |
| span | 自定义宫格跨度配置 | 把指定的格子合并为一个大格子  (焦点屏) ;可不填 |
- **请求示例**:
```json
{
"id": "stack_test",
"row": 4,
"col": 4,
"gapv": 0.002,
"gaph": 0.001,
"width": 1920,
@@ -1359,9 +1364,6 @@ typedef enum {
"rtsp://example.com/live/stream16"
]
],
"id": "stack_test",
"row": 4,
"col": 4,
"span": [
[
[0, 0], [1, 1]
@@ -1373,9 +1375,13 @@ typedef enum {
}
```
#### 34.2 变更拼接参数 (/index/api/stack/reset)
> 该接口参数与start相同可用于在不断流的情况下变更拼接参数实现类似于切屏的效果
#### 34.2 关闭多屏拼接 (/index/api/stack/stop)
#### 34.3 关闭多屏拼接 (/index/api/stack/stop)
> 已默认添加了当触发无人观看时,自动关闭(该接口用于主动关闭)
@@ -1390,5 +1396,6 @@ typedef enum {
- 拼接示意图(4行4列)对应上面的示例json如果span参数为空数组时则为均分的宫格屏
![image](https://github.com/ZLMediaKit/ZLMediaKit/assets/11495632/a8dea3ac-2445-4e17-8e1b-d92ef31e8f35)
![videostack](https://github.com/ZLMediaKit/ZLMediaKit/assets/44298896/b568aa9b-cb4c-4267-a321-6d93185bcb40)