Skip to main content
本页讲云录制与直播的整体玩法。单个接口的参数与返回结构见会议录制与直播

一个任务,四种能力

task_type按位组合的,四个独立能力各占一位,想同时要哪几个就相加: 所以 3 = 录像+合流,9 = 录像+直播,15 = 四种全开。
不要把 3 理解成「混合模式」这一种独立类型。早前的文档把值域写成「1录像 2合流 3混合」,那是错的 —— 既漏了录音与直播流,也误导了组合语义。

有些任务会自动启动

这是 SMeeting 与底层 SRTC 最不一样的地方:不是所有录制都要你手动调 start。 第一个人进会时,服务端会按会议自身的配置决定要不要起任务: 若部署时开了直播能力,上面每一行都会再加 8(直播流)—— 例如普通会议开了 auto_record 实际起的是 9。这个开关由部署决定,不由接口控制,不确定的话问一下我们。 自动启动用的布局是会议自己的 layout_data,没配就是 auto 所以:创建会议时把 auto_record 设成 true,就不用在业务里管录制的启停了。 手动调 start 适用于「会议中途才决定要录」这类场景。

同一场会议重复调 start 是更新,不是新建

同一个会议对同一类型只有一个进行中的任务。用不同参数再调一次 start,改的是现有任务 (例如换布局),不会多出一个任务,也不会产生第二个录像文件。

录像和直播的关键区别

取回放地址请等 mcu_record_done 回调,不要在任务一结束就取 —— 那时转码往往还没完成。

画面怎么排

layout_data.layout 决定画面布局。auto 会按在线人数自动选宫格,绝大多数场景够用; 需要固定画面时才指定具体布局: 注意 grids_N 的 N 不连续(没有 7、10、11),传不支持的值会报错。 不想每次都传布局,就把统一的水印、标签、布局策略配进录制配置

指定谁出现在哪个格子

layout_data.div_list 用来把特定用户钉到特定格子,不指定就按进会顺序自动填充。
  • cells[].idx 是格子序号,顺序等同 HTML 表格里 <td> 的排列(从左到右、从上到下)
  • uids 留空表示「剩余在线用户轮流出现在这些格子里」(大轮询);填多个则是这几个人在这些格子里轮询(小轮询)
  • polling_dur 是轮询间隔秒数,0 表示不轮询
  • cells[].bind_sharetrue 时该格子优先绑定会中的共享屏幕流
一个典型用法是「主持人固定在大格子、其余人轮播小格子」:给大格子的 cells 填主持人 user_id,给小格子的 cells 留空 uids 并设 polling_dur

无人时的行为

layout_data.nobody_text 决定会议里没人时怎么办:
  • 留空 → 暂停录制(推荐,避免录出大段黑屏)
  • 填了文本 → 继续录制并显示该文本

水印与成员名标签

  • watermark.type0 默认、1 无、2 单排、3 多排。watermark.text 留空时用会议标题作为水印内容
  • 成员名标签的位置用字母组合表示:L 左、R 右、T 上、B 下,可组合(LB = 左下)。留空表示不显示标签
  • 字号、颜色、轮廓都留默认值即可,只在有明确视觉要求时才指定

完整时序

计费提示

录制、录音、直播都是持续产生费用的服务端能力。auto_record 开着就意味着每一场会议都在录 —— 上线前确认这是你要的。手动启动的任务,业务侧最好在会议结束流程里显式调 stop。