setMixTranscodingConfig method

Future<V2TXLiveCode> setMixTranscodingConfig(
  1. V2TXLiveTranscodingConfig? config
)

设置云端的混流转码参数

如果您在实时音视频 [控制台](https://console.cloud.tencent.com/trtc/) 中的功能配置页开启了“启用旁路推流”功能, 房间里的每一路画面都会有一个默认的直播 [CDN 地址](https://cloud.tencent.com/document/product/647/16826)

一个直播间中可能有不止一位主播,而且每个主播都有自己的画面和声音,但对于 CDN 观众来说,他们只需要一路直播流 所以您需要将多路音视频流混成一路标准的直播流,这就需要混流转码

当您调用 setMixTranscodingConfig() 接口时,SDK 会向腾讯云的转码服务器发送一条指令,目的是将房间里的多路音视频流混合为一路, 您可以通过 mixStreams 参数来调整每一路画面的位置,以及是否只混合声音,也可以通过 videoWidth、videoHeight、videoBitrate 等参数控制混合音视频流的编码参数

【画面1】=> 解码 ====> \
                        \
【画面2】=> 解码 =>  画面混合 => 编码 => 【混合后的画面】
                        /
【画面3】=> 解码 ====> /

【声音1】=> 解码 ====> \
                        \
【声音2】=> 解码 =>  声音混合 => 编码 => 【混合后的声音】
                        /
【声音3】=> 解码 ====> /

参考文档:[云端混流转码](https://cloud.tencent.com/document/product/647/16827)

@param config 请参考 V2TXLiveDef.java 中关于 {@link V2TXLiveDef.V2TXLiveTranscodingConfig} 的介绍。如果传入 null 则取消云端混流转码 @return 返回值 {@link V2TXLiveCode}

  • V2TXLIVE_OK: 成功
  • V2TXLIVE_ERROR_REFUSED: 未开启推流时,不允许设置混流转码参数 @note 关于云端混流的注意事项:
  • 仅支持 RTC 模式混流
  • 云端转码会引入一定的 CDN 观看延时,大概会增加1 - 2秒
  • 调用该函数的用户,会将连麦中的多路画面混合到自己当前这路画面或者 config 中指定的 streamId 上
  • 请注意,若您还在房间中且不再需要混流,请务必传入 null 进行取消,因为当您发起混流后,云端混流模块就会开始工作,不及时取消混流可能会引起不必要的计费损失
  • 请放心,您退房时会自动取消混流状态

Implementation

Future<V2TXLiveCode> setMixTranscodingConfig(V2TXLiveTranscodingConfig? config) async {
  var result = await _channel.invokeMethod('setMixTranscodingConfig',
      {"config": config?.toJson() ?? {}});
  return _liveCodeWithResult(result);
}