数据流录制服务在录制时,可以通过服务端接口 UpdateLayout,记录用户在回放时想要使用的布局方式。回放时每路音视频流与白板在画面中的显示位置依赖于设置的布局方式,如果原视频的宽高比与回放布局中的宽高比不一致,可能出现裁剪或压缩。
数据流录制支持的布局方式如下:
如果某条流只有音频数据,依然会占据一个画面。
在调用 StartDataFlowRecord 方法时,通过设置 “MixMode” 参数选择布局方式。在录制过程中可以通过调用 UpdateLayout 方法更改布局方式。
本节将详细介绍各种布局方式,示例图片中的数字代表流加入房间的先后顺序。
实际布局效果如下所示:
水平布局可以在调用 StartDataFlowRecord 方法和 UpdateLayout 方法时通过设置 MixMaxResolutionStreamId
来指定大画面显示的流。
MixMaxResolutionStreamId
时,大画面显示最先进入房间的流。 MixMaxResolutionStreamId
但该条流还未进入房间时,会取最早进入的流设置为大画面,直到设置的流进来为止。MixMaxResolutionStreamId
参数失效,白板画面会始终占据大画面。 实际布局效果如下所示:
垂直布局可以在调用 StartDataFlowRecord 方法和 UpdateLayout 方法时通过设置 MixMaxResolutionStreamId
来指定大画面显示的流。
注意事项请参考 2.2 水平布局,实际布局效果如下所示:
悬浮布局可以在调用 StartDataFlowRecord 方法和 UpdateLayout 方法时通过设置 MixMaxResolutionStreamId
来指定大画面显示的流。
注意事项请参考 2.2 水平布局,实际布局效果如下所示:
如果开发者需要自定义布局,可以在 ZegoRecorderPlayback SDK 回放中,自行设定每一个音视频流窗口的位置以及大小,并设置参数,自由摆放组合,达到想要的效果。
在录制过程中,可以随时调用本方法更新布局和设置在大画面显示的流,以下是一个更新示例。
“Content-type” 为 application/json;charset=utf-8
时,UpdateLayout 请求包体内容如下:
{
"TaskId": "xxxx",
"MixMode": 3,
"MixMaxResolutionStreamId": "teacher"
}
联系我们
文档反馈