本页讲的是整场录制:整个频道混成一路,产出一个文件。如果你要的是按说话人分轨、按一次讲话切段的录音,那是另一套接口,见语音录制,两者的差异见下文对照表。
一个任务,四种能力
task_type 是按位组合的,四个独立能力各占一位,想同时要哪几个就相加:
所以
3 = 录像+合流,9 = 录像+直播,15 = 四种全开。
「录音」和「语音录制」不是一回事
本页的task_type=4 录音是 MCU 合流录音:整个频道混成一路音频,一次任务一个文件。
如果你要的是按人分轨、按一次讲话切段(对讲留痕、按人计时、逐句转写),用
语音录制,那是另一套接口:
两者可以同时开,互不影响。
录像和直播的关键区别
这个差异决定了调用时序:直播是”开播即可分发”,录像是”结束后才有产物”。
画面怎么排
layout_data.layout 决定画面布局。auto 会按在线人数自动选宫格,绝大多数场景够用;需要固定画面时才指定具体布局:
注意
grids_N 的 N 不连续(没有 7、10、11),传不支持的值会报错。
不传 layout_data 时用应用的默认录制配置——把统一的水印、标签、布局策略配在那里,就不用每次启动任务都重复传。
指定谁出现在哪个格子
layout_data.div_list 用来把特定用户钉到特定格子,不指定就按加入顺序自动填充。
cells[].idx是格子序号,顺序等同 HTML 表格里<td>的排列(从左到右、从上到下)uids留空表示「剩余在线用户轮流出现在这些格子里」(大轮询);填多个则是这几个人在这些格子里轮询(小轮询)polling_dur是轮询间隔秒数,0表示不轮询cells[].bind_share为true时该格子优先绑定频道内的共享屏幕流
cells 填主讲人 uid,给小格子的 cells 留空 uids 并设 polling_dur。
无人时的行为
layout_data.nobody_text 决定频道里没人时怎么办:
- 留空 → 暂停录制(推荐,避免录出大段黑屏)
- 填了文本 → 继续录制并显示该文本
水印与成员名标签
watermark.type:0默认、1无、2单排、3多排。watermark.text留空时用任务的title作为水印内容- 成员名标签的位置用字母组合表示:
L左、R右、T上、B下,可组合(LB= 左下)。留空表示不显示标签