启动云端混流

最近更新时间:2020-06-16 08:54:43

1. 接口描述

接口请求域名: trtc.tencentcloudapi.com 。

接口说明:启动云端混流,并指定混流画面中各路画面的布局位置。

TRTC 的一个房间中可能会同时存在多路音视频流,您可以通过此 API 接口,通知腾讯云服务端将多路视频画面合成一路,并指定每一路画面的位置,同时将多路声音进行混音,最终形成一路音视频流,以便用于录制和直播观看。

您可以通过此接口实现如下目标:

  • 设置最终直播流的画质和音质,包括视频分辨率、视频码率、视频帧率、以及声音质量等。
  • 设置各路画面的位置和布局,您只需要在启动时设置一次,排版引擎会自动完成后续的画面排布。
  • 设置录制文件名,用于二次回放。
  • 设置 CDN 直播流 ID,用于在 CDN 进行直播观看。

目前已经支持了如下几种布局模板:

  • 悬浮模板:第一个进入房间的用户的视频画面会铺满整个屏幕,其他用户的视频画面从左下角依次水平排列,显示为小画面,最多4行,每行4个,小画面悬浮于大画面之上。最多支持1个大画面和15个小画面,如果用户只发送音频,仍然会占用画面位置。
  • 九宫格模板:所有用户的视频画面大小一致,平分整个屏幕,人数越多,每个画面的尺寸越小。最多支持16个画面,如果用户只发送音频,仍然会占用画面位置。
  • 屏幕分享模板:适合视频会议和在线教育场景的布局,屏幕分享(或者主讲的摄像头)始终占据屏幕左侧的大画面位置,其他用户依次垂直排列于右侧,最多两列,每列最多8个小画面。最多支持1个大画面和15个小画面,如果用户只发送音频,仍然会占用画面位置。

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:StartMCUMixTranscode。
Version String 公共参数,本接口取值:2019-07-22。
Region String 公共参数,详见产品支持的 地域列表
SdkAppId Integer TRTC的SDKAppId。
RoomId Integer 房间号。
OutputParams OutputParams 混流输出控制参数。
EncodeParams EncodeParams 混流输出编码参数。
LayoutParams LayoutParams 混流输出布局参数。

3. 输出参数

参数名称 类型 描述
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 启动云端混流

启动指定房间(房间号为3560)的云端混流,同时指定各路画面按屏幕分享模板排布。

设置云端混流参数如下:

  • CDN直播流ID:1400188366_3560_mix。
  • 录制文件名:1400188366_3560_mix_file。
  • CDN直播流视频参数:视频宽为1280、高为720,视频码率为1560kbps,视频帧率为15,gop为2秒。
  • CDN直播流音频参数:音频采样率为48kHz,音频码率为64kbps,音频声道数为双声道。
  • 各路画面按屏幕分享模板排布,占据屏幕左侧大画面的视频流为用户(main_pc)的屏幕分享。

输入示例

https://trtc.tencentcloudapi.com/?Action=StartMCUMixTranscode
&SdkAppId=1400188366
&RoomId=3560
&OutputParams.StreamId=1400188366_3560_mix
&OutputParams.PureAudioStream=0
&OutputParams.RecordId=1400188366_3560_mix_file
&OutputParams.RecordAudioOnly=0
&EncodeParams.VideoWidth=1280
&EncodeParams.VideoHeight=720
&EncodeParams.VideoBitrate=1560
&EncodeParams.VideoFramerate=15
&EncodeParams.VideoGop=2
&EncodeParams.BackgroundColor=0
&EncodeParams.AudioSampleRate=48000
&EncodeParams.AudioBitrate=64
&EncodeParams.AudioChannels=2
&LayoutParams.Template=2
&LayoutParams.MainVideoUserId=main_pc
&LayoutParams.MainVideoStreamType=1
&<公共请求参数>

输出示例

{
  "Response": {
    "RequestId": "eac6b301-a322-493a-8e36-83b295459397"
  }
}

5. 开发者资源

API Explorer

该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.RequestRejection 云API混流模板和SDK混流冲突。
FailedOperation.RoomNotExist 房间不存在。
InternalError 内部错误。
InvalidParameter.EncodeParams EncodeParams参数错误。
InvalidParameter.OutputParams OutputParams参数错误。
InvalidParameter.RecordId RecordId参数错误。
InvalidParameter.RoomId RoomId参数错误。
InvalidParameter.SdkAppId SdkAppId参数错误。
InvalidParameter.StreamId StreamId参数错误。
MissingParameter.AudioEncodeParams EncodeParams中缺少音频输出参数。
MissingParameter.EncodeParams 缺少EncodeParams参数。
MissingParameter.OutputParams 缺少OutputParams参数。
MissingParameter.RoomId 缺少RoomId参数。
MissingParameter.SdkAppId 缺少SdkAppId参数。
MissingParameter.StreamId OutputParams中缺少StreamId参数。
MissingParameter.VideoEncodeParams EncodeParams中缺少视频输出参数。
UnauthorizedOperation.SdkAppId 没有操作SdkAppId的权限。
目录