| 参数名 | 类型 | 描述 |
|---|---|---|
| ResponseMetadata | ResponseMetadata | |
| Result | interface{} | 仅在请求成功时返回, 具体值参考每个 API 的说明。 |
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RequestId | String | Your_RequestId | 请求标识 |
| Action | String | StartRecord | 接口名称 |
| Version | String | 2021-04-22 | 接口版本 |
| Service | String | rtc | 接口所属服务 |
| Region | String | cn-north-1 | 地域参数:cn-north-1 (华北)ap-singapore-1 (新加坡)us-east-1 (美东) |
| Error | ErrorInfo | 无 | 仅在请求失败时返回。 |
错误的结构定义。
| 参数名称 | 类型 | 描述 |
|---|---|---|
| CodeN | Uint32 | 网关的错误码 |
| Code | String | API 的错误码,参看错误码。 |
| Message | String | 具体的错误信息 |
BusinessId,TaskId,RoomId,UserId 等字段都遵循相同的命名规范:
长度不超过 128 个字节,字符集取值范围是:
A~Z;a~z;0~9;@ . _ -。合流布局参数。
| 参数名称 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| LayoutMode | Uint32 | 否 | 0 | 布局模式。默认值为 0,值的范围为 {0, 1, 2, 3}。0 为自适应布局模式。参看自适应布局。1 为垂直布局模式。参看垂直布局。2 为自定义布局模式。3 为并排布局模式。参看并排布局 |
| MainVideoStream | Stream | 否 | 在垂直布局模式下生效,指定主画面流的属性。如果此参数为空,则主画面为随机的一路流。 | |
| CustomLayout | CustomLayout | 否 | 使用自定义布局模式时,使用此参数进行具体设置。 |
如果你选择使用自适应布局模式,合流时,不同的合流用户数量会适用不同的布局:

自适应布局会遵循以下规则:
如果你选择使用垂直布局模式,合流时,不同的合流用户数量会适用不同的布局:
垂直布局会遵循以下规则:
如果你选择使用并排布局模式,合流时,不同的合流用户数量会适用不同的布局:
自定义布局模式下,画面布局的具体设置。
| 参数名称 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Canvas | Canvas | 否 | 整体屏幕(画布)的宽高以及背景色。 | |
| Regions | array of Region | 否 | 在自定义布局模式下,你可以使用 Regions 对每一路视频流进行画面布局设置。其中,每个 Region 对一路视频流进行画面布局设置。 |
自定义布局模式下,对于 StreamList 中的每个 Stream,Regions 中都需要给出对应的布局信息,否则会返回请求不合法的错误。即 Regions.Region.StreamIndex 要与 TargetStreams.StreamList.Stream.Index 的值一一对应,否则自定义布局设置失败,返回 InvalidParameter 错误码。
整体屏幕(画布)的宽高以及背景色参数。
| 参数名称 | 类型 | 必填 | 示例值 | 描述 | 备注 |
|---|---|---|---|---|---|
| Width | Uint32 | 否 | 640 | 整体屏幕(画布)的宽度,单位为像素,范围为 [2, 1920],必须是偶数。默认值为 640。值不合法时,自动调整为默认值。 | |
| Height | Uint32 | 否 | 480 | 整体屏幕(画布)的高度,单位为像素,范围为 [2, 1920],必须是偶数。默认值为 480。值不合法时,自动调整为默认值。 | |
| Background | String | 否 | #000000 | 整体屏幕(画布)的背景色,格式为 #RGB(16进制),默认值为 #000000(黑色), 范围为 #000000 ~ #ffffff (大小写均可)。值不合法时,自动调整为默认值。 | 关于 Background 和 BackgroundImage 之间的关系,参看注释1。 |
| BackgroundImage | String | 否 | 无 | 背景图片的 URL。长度最大为 1024 byte。可以传入的图片的格式包括:JPG, JPEG, PNG。如果背景图片的宽高和整体屏幕的宽高不一致,背景图片会缩放到铺满屏幕。 | 关于 Background 和 BackgroundImage 之间的关系,参看注释1。 |
视频流在整体画面中的布局参数。
- 当传入的必填参数值不合法时,返回错误码
InvalidParameter。- 当传入的选填参数值不合法时,自动调整为默认值。
| 参数名称 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| StreamIndex | Uint32 | 是 | 0 | 流的标识。这个标志应和 TargetStreams.StreamList.Stream.Index 对应。 |
| LocationX | Float32 | 否 | 0 | 视频流对应区域左上角的横坐标相对整体画面的比例,取值的范围为 [0.0, 1.0)。默认值为 0。若传入该参数,服务端会对该参数进行校验,若不合法会返回错误码 InvalidParameter。参看关于 LocationX 的说明。 |
| LocationY | Float32 | 否 | 0 | 视频流对应区域左上角的纵坐标相对整体画面的比例,取值的范围为 [0.0, 1.0)。默认值为 0。若传入该参数,服务端会对该参数进行校验,若不合法会返回错误码 InvalidParameter。参看关于 LocationY 的说明。 |
| WidthProportion | Float32 | 是 | 0.5 | 视频流对应区域宽度相对整体画面的比例,取值的范围为 (0.0, 1.0]。 |
| HeightProportion | Float32 | 是 | 0.5 | 视频流对应区域高度相对整体画面的比例,取值的范围为 (0.0, 1.0]。 |
| ZOrder | Uint32 | 否 | 0 | 当多个流的画面有重叠时,使用此参数设置指定画面的图层顺序。取值范围为 [0, 100]:0 表示该区域图像位于最下层,100 表示该区域图像位于最上层, 默认值为 0。值不合法时,自动调整为默认值。 |
| Alpha | Float32 | 否 | 1 | 画面的透明度,取值范围为 (0.0, 1.0]。0.0 表示完全透明,1.0 表示完全不透明,默认值为 1.0。值不合法时,自动调整为默认值。 |
| RenderMode | Uint32 | 否 | 0 | 画面的渲染模式,值的范围为 {0, 1, 2,3}, 默认值为 0:0 表示按照指定的宽高直接缩放。如果原始画面宽高比与指定的宽高比不同,就会导致画面变形1 表示按照显示区域的长宽比裁减视频,然后等比拉伸或缩小视频,占满显示区域。2 表示按照原始画面的宽高比缩放视频,在显示区域居中显示。如果原始画面宽高比与指定的宽高比不同,就会导致画面有空缺,空缺区域为填充的背景色值。3 表示按照指定的宽高直接缩放。如果原始画面宽高比与指定的宽高比不同,就会导致画面变形值不合法时,自动调整为默认值。 目前 0 和 3 均为按照指定的宽高直接缩放,但我们推荐你使用 3 以便与客户端实现相同逻辑。不同渲染模式下,效果如下: ![]() |
| SourceCrop | SourceCrop | 否 | / | 源流剪切功能,可以在源视频帧渲染之前进行裁剪,即预处理一次再渲染。 |
| AlternateImage | String | 否 | 补位图片的 url。长度不超过 1024 个字符串。 | 参看关于 AlternateImage 的说明。 |
| MediaType | Uint32 | 否 | 0 | 该路流参与混流的媒体类型。
0。值不合法时,自动调整为默认值。假如该路流为音视频流, MediaType设为1,则只混入音频内容。 |
| AlternateImageFillMode | Uint32 | 否 | 0 | 画面的渲染模式。
0。值不合法时,自动调整为默认值。 |
备注:
LocationX 和 LocationY 的说明:Canvas.Width = 1920, Region.LocationX = 0.33,那么该画布左上角的横坐标为 634(1920*0.33=633.6,四舍五入取整)。WidthProportion 和 HeightProportion 的说明:Canvas.Width = 1920, Region.WidthProportion = 0.21,那么该画布横向宽度为 404px(1920*0.21=403.2,四舍五入取整后,再向上转换为偶数)。AlternateImage 的说明:
Region.StreamIndex 对应的视频流没有发布,或被暂停采集时,AlternateImage 对应的图片会填充 Region 对应的画布空间。当视频流被采集并发布时,AlternateImage 不造成任何影响。RenderMode 的设置,在画布中进行渲染。对原视频帧在渲染前进行裁剪。
| 参数名称 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| LocationX | Float32 | 否 | 0 | 裁剪后得到的视频帧左上角的横坐标相对裁剪前整体画面的比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。值不合法时,自动调整为默认值。 |
| LocationY | Float32 | 否 | 0 | 裁剪后得到的视频帧左上角的纵坐标相对裁剪前整体画面的比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。值不合法时,自动调整为默认值。 |
| WidthProportion | Float32 | 否 | 0.5 | 裁剪后得到的视频帧宽度相对裁剪前整体画面宽度的比例,取值范围为 (0.0, 1.0]。默认值为 1.0。值不合法时,自动调整为默认值。 |
| HeightProportion | Float32 | 否 | 0.5 | 裁剪后得到的视频帧高度相对裁剪前整体画面宽度的比例,取值范围为 (0.0, 1.0]。默认值为 1.0。值不合法时,自动调整为默认值。 |
如果裁剪后计算得到的实际分辨率的宽或高不是偶数,会被自动调整为偶数。
音视频编码参数。
| 参数名称 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| VideoWidth | Uint32 | 否 | 640 | 输出画面的宽度。默认值为640,范围为 [2, 1920],必须是偶数。值不合法时,自动调整为默认值。自定义布局下此参数不生效,整体画面宽度以 canvas 中的 Width 为主。 |
| VideoHeight | Uint32 | 否 | 480 | 输出画面的高度,范围为[2, 1920],必须是偶数,默认值为480。值不合法时,自动调整为默认值。自定义布局下此参数不生效,整体画面高度以 canvas 中的 Height 为主。 |
| VideoFps | Uint32 | 否 | 15 | 输出视频帧率。默认为 15,取值范围为 [1,60]。值不合法时,自动调整为默认值。 |
| VideoBitrate | Uint32 | 否 | / | 输出视频码率。取值范围 [1,10000],单位为 Kbps,默认值为自适应。值不合法时,自动调整为默认值。 |
| VideoCodec | Uint32 | 否 | 0 | 视频编码协议。默认值为 0,可以取 0 或 1。取 0 时使用 H.264,取 1 时使用 ByteVC1 编码器。 |
| VideoGop | Uint32 | 否 | 4 | 输出视频 GOP。默认为 4,取值范围为 [1,5],单位为秒。值不合法时,自动调整为默认值。 |
| AudioCodec | Uint32 | 否 | 0 | 音频编码协议。默认值为 0,此时使用 aac 编码协议。目前只支持 aac。值不合法时,自动调整为默认值。 |
| AudioProfile | Uint32 | 否 | 0 | 音频配置文件类型,在使用 aac 编码时生效。取值范围为 {0, 1, 2}。0 :采用 LC 规格;1: 采用 HE-AAC V1 规格;2: 采用 HE- AAC V2 规格。取 2 时,只支持输出流音频声道数为双声道。0。 |
| AudioBitrate | Uint32 | 否 | / | 音频码率。取值范围为 [32,192],单位为 Kbps,默认值为 64,值不合法时,自动调整为默认值。当 AudioProfile=0时:若输入参数取值范围为 [32,192],编码码率等于输入码率。当 AudioProfile=1时:[32,128],编码码率等于输入码率。[128,192],编码码率固定为128。AudioProfile=2时:[32,64],编码码率等于输入码率。[64,192],编码码率固定为64。 |
| AudioSampleRate | Uint32 | 否 | 48000 | 音频采样率。默认值 48000,取值为 [48000, 44100, 32000],单位是 Hz。值不合法时,自动调整为默认值。 |
| AudioChannels | Uint32 | 否 | 2 | 音频声道数。1:单声道2:双声道。2。值不合法时,自动调整为默认值。 |
自适应码率模式下,RTC 默认不会设置超高码率。如果订阅屏幕流,建议自行设置高码率。不同场景下设置码率等视频发布参数,请参考设置视频发布参数。
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| MediaType | Uint32 | 否 | 0 | 流的类型,用于全局控制订阅的流的类型。默认值为0,可以取0和1。0表示音视频,1表示纯音频,暂不支持纯视频。值不合法时,自动调整为默认值。 |
| FrameInterpolationMode | Uint32 | 否 | 0 | 选择补帧模式。默认值为0,可以取0和1。0为补最后一帧,1为补黑帧。值不合法时会自动调整为默认值。自动布局模式下,没有补帧的逻辑。关于什么是补帧,参看补帧。 |
| MaxIdleTime | Uint32 | 否 | 180 | 任务的空闲超时时间,超过此时间后,任务自动终止。单位为秒。取值范围为 [10, 86400], 默认值为 180。 |
| MaxRecordTime | Uint32 | 否 | 0 | (仅对录制有效)最大录制时长,单位为秒。默认值为 0。0 表示不限制录制时长。 |
补帧:在音视频录制或合流转推时,视频的帧率通常是固定的。但是,因为网络波动或其他原因,实际帧率可能无法达到预设的帧率。此时,需要补帧以保持视频流畅。补最后一帧意味着补充的视频帧和中断前的最后一帧相同,此时看到的画面可能会有短暂静止;补黑帧意味着补充的视频帧是全黑的。
| 参数名 | 类型 | 描述 |
|---|---|---|
| StartTime | Uint64 | 任务开始的时间,为 Unix 时间戳,单位毫秒 |
| EndTime | Uint64 | 任务结束的时间,为 Unix 时间戳,单位毫秒。0 表示任务未结束 |
| Status | Uint64 | 任务状态:0: 未知异常状态 |
| StopReason | String | 任务停止的原因: |
| RecordFileList | array of RecordFile | 录制生成的文件列表。 |
| 参数名称 | 类型 | 描述 |
|---|---|---|
| Vid | String | 文件在火山引擎视频点播 VOD 平台的唯一标识。你可以根据 vid 在点播平台上找到对应的文件。仅在你选择配置存储到 Vod 平台时,此参数有效。 |
| ObjectKey | String | 文件在对象存储平台中的完整路径,如abc/efg/123.mp4。仅在你选择配置存储到对象存储平台时,此参数有效。 |
| Duration | Uint64 | 文件时长,单位为毫秒。 |
| Size | Uint64 | 文件大小,单位为 byte。 |
| StartTime | Uint64 | 文件开始录制的 UTC 时间,单位为毫秒。 |
| StreamList | Array of Stream | 录制文件中包含流的列表。 |
| VideoCodec | String | 视频录制编码协议 |
| AudioCodec | String | 音频录制编码器 |
| VideoWidth | Int | 录制视频宽度,单位为像素 |
| VideoHeight | Int | 录制视频高度,单位为像素 |
| 参数名称 | 类型 | 描述 |
|---|---|---|
| AccountId | String | 火山引擎平台账号 ID,例如:200000000。详细信息,请参看注释1。 |
| Space | String | 用于存储录制结果的点播空间名。 |
注释1:
火山引擎平台账号 ID 查看路径:控制台->账号管理->账号信息
此账号 ID 为火山引擎主账号 ID。
若你调用 OpenAPI 鉴权过程中使用的 AK、SK 为子用户 AK、SK,账号 ID 也必须为火山引擎主账号 ID,不能使用子用户账号 ID。
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Prefix | Array of String | 否 | 制定录制文件名的前缀,对TosConfig和CustomConfig生效,具体参看注释1 | |
| Pattern | String | 否 | 自定义录制文件名模式,具体参看自定义录制文件名。 |
注释1:Prefix 为指定录制文件名的前缀,是一个由多个字符串组成的数组,在 TOS 以及支持 S3 的第三方存储平台上,可以实现指定文件夹的功能。如:Prefix = ["directory1","directory2"],将在录制文件名前加上前缀 "directory1/directory2/"。
前缀长度(包括斜杠)不得超过 128 个字符。Prefix中不得出现斜杠、下划线、括号等符号字符。
仅支持以下字符:
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Type | Uint32 | 否 | 0 | 存储平台类型0。 |
| TosConfig | TosConfig | 否 | 无 | 当 Type = 0 时,需正确设置 TosConfig 的值,否则请求会报错 |
| VodConfig | VodConfig | 否 | 无 | 当 Type = 1 时,需正确设置 VodConfig 的值,否则请求会报错 |
| CustomConfig | CustomConfig | 否 | 无 | 当 Type = 2时,需正确设置 CustomConfig 的值,否则请求会报错 |
| VeImageXConfig | VeImageXConfig | 否 | 无 | 当 Type = 3时,需正确设置 VeImageXConfig 的值,否则请求会报错 |
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| AccountId | String | 是 | Your_AccountId | 火山引擎平台账号 ID,例如:200000000。详细信息,请参看注释1。 |
| Region | Uint32 | 否 | 0 | 不同存储平台支持的region不同,具体参看 Region对照表 默认值为 0。 |
| Bucket | String | 是 | Your_Bucket | 存储桶的名称。 |
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| AccountId | String | 是 | Your_AccountId | 火山引擎平台账号 ID,例如:200000000。详细信息,请参看注释1。 |
| Region | Uint32 | 否 | 不同存储平台支持的region不同,具体参看 Region对照表 默认值为 0。 | |
| Space | String | 是 | Your_Space | 点播空间名称。 |
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Vendor | Uint32 | 否 | 0 | 第三方云存储平台。 |
| Region | Uint32 | 否 | 不同存储平台支持的region不同,具体参看 Region对照表 默认值为 0。 | |
| Bucket | String | 是 | 无 | 存储桶的名称。 |
| AccessKey | String | 是 | 无 | 第三方存储平台账号的密钥。需确保此账号对存储桶有写权限。不建议开启读权限 |
| SecretKey | String | 是 | 无 | 第三方存储平台账号的密钥 |
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| AccountId | String | 是 | Your_AccountId | 火山引擎平台账号 ID,例如:200000000。详细信息,请参看注释1。 |
| Region | Uint32 | 否 | 不同存储平台支持的region不同,具体参看 Region对照表 默认值为 0。 | |
| ServiceId | String | 是 | Your_ServiceId | 服务 ID。 你也可以通过 OpenAPI 的方式获取服务 ID,具体请参考获取所有服务信息。 |
| Type | region | 备注 |
|---|---|---|
| TOS | ||
| Vod | 0: cn-north-1 | |
| Amazon S3 | 0:us-east-1,美国东部(弗吉尼亚北部) 1:us-east-2,美国东部(俄亥俄) 2:us-west-1,美国西部(加利福尼亚北部) 3:us-west-2,美国西部(俄勒冈) 4:eu-west-1,欧洲(爱尔兰) 5:eu-west-2,欧洲(伦敦) 6:eu-west-3,欧洲(巴黎) 7:eu-central-1,欧洲(法兰克福) 8:ap-southeast-1,亚太地区(新加坡) 9:ap-southeast-2,亚太地区(悉尼) 10:ap-northeast-1,亚太地区(东京) 11:ap-northeast-2,亚太地区(首尔) 12:sa-east-1,南美洲(圣保罗) 13:ca-central-1,加拿大(中部) 14:ap-south-1,亚太地区(孟买) 15:cn-north-1,中国(北京)【AWS中国】 16:cn-northwest-1,中国(宁夏)【AWS中国】 17:us-gov-east-1,AWS GovCloud(美国东部) 18:ap-east-1,亚太地区(香港) 19:eu-south-1,欧洲(米兰) 20:ap-northeast-3,亚太地区(大阪) 21:eu-north-1,欧洲(斯德哥尔摩) 22:me-south-1,中东(巴林) 23:us-gov-west-1,AWS GovCloud(美国西部) 24:af-south-1,非洲(开普敦) 详情可参看 AWS 区域终端节点 、终端节点和配额和 国内终端节点 | |
| 阿里云OSS | 0:oss-cn-hangzhou 1:oss-cn-shanghai 2:oss-cn-qingdao 3:oss-cn-beijing 4:oss-cn-zhangjiakou 5:oss-cn-huhehaote 6:oss-cn-wulanchabu 7:oss-cn-shenzhen 8:oss-cn-heyuan 9:oss-cn-guangzhou 10:oss-cn-chengdu 11:oss-cn-hongkong 12:oss-us-west-1 13:oss-us-east-1 14:oss-ap-southeast-1 15:oss-ap-southeast-2 16:oss-ap-southeast-3 17:oss-ap-southeast-5 18:oss-ap-northeast-1 19:oss-ap-south-1 20:oss-eu-central-1 21:oss-eu-west-1 22:oss-me-east-1 23:oss-ap-southeast-6 详情可参看阿里云访问域名和数据中心 | 16 对应地域暂不支持。 |
| 华为云 | 1:cn-north-4,华北-北京四 3:cn-north-9,华北-乌兰察布一 5:cn-east-3,华东-上海一 6:cn-south-1,华南-广州 11:cn-southwest-2,西南-贵阳一 14:ap-southeast-1,中国-香港 详情可参看 华为云地区和终端节点 | |
| 腾讯云 | 1:ap-beijing,北京 2:ap-nanjing,南京 3:ap-shanghai,上海 4:ap-guangzhou,广州 5:ap-chengdu,成都 6:ap-chongqing,重庆 7:ap-shenzhen-fsi,深圳金融 8:ap-shanghai-fsi,上海金融 9:ap-beijing-fsi,北京金融 10:ap-hongkong,中国香港 详情可参看腾讯云地域和访问域名 | |
| 七牛云 | 0:cn-east-1,华东-浙江 1:cn-east-2,华东-浙江2 2:cn-north-1,华北-河北 3:cn-south-1,华南-广东 详情可参看七牛云服务域名 | |
| VeImageX | 0: cn-north-1 |
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| FileFormat | Array | 否 | ["HLS"] | 存储文件格式。可取值为:MP4、HLS、FLV、MP3、 AAC、M4A。可同时选择多个存储文件格式,最终生成所选存储格式对应的多个文件。MP3、AAC和M4A仅在编码纯音频时有效。 |
流的参数
| 参数名称 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Index | Uint32 | 否 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | 是 | Your_UserId | 用户Id,表示这个流所属的用户。 |
| StreamType | Uint32 | 否 | 0 | 流的类型,值可以取0或1,默认值为0。0表示普通音视频流,1表示屏幕流。 |
指定流的数量及属性参数。
| 参数名称 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| StreamList | array of Stream | 否 | / | 由Stream组成的列表,可以为空。为空时,表示订阅房间内所有流。在一个 StreamList 中,Stream.Index 不能重复。 |
截图产生的图片的相关配置。
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Format | Uint32 | 否 | 0 | 图片的格式。值可取 0 或 1,默认为 0。选择 0 时,图片格式为 JPEG;选择 1 时,图片格式为 PNG。默认值为 0。值不合法时,自动调整为默认值。 |
| Width | Uint32 | 否 | 0 | 实际使用视频帧的宽度,单位为像素,取值范围为 [0, 1920]。默认值为 0,此时,和视频流的实际宽度相同。值不合法时,自动调整为默认值。 |
| Height | Uint32 | 否 | 0 | 实际使用视频帧的高度,单位为像素,取值范围为 [0, 1080],默认值为 0,此时,和视频流的实际高度相同。值不合法时,自动调整为默认值。 |
| Interval | Uint32 | 否 | 2 | 相邻截图之间的间隔时间,单位为秒,取值范围为 [1, 600],默认值为 2。值不合法时,自动调整为默认值。 |
| 参数名称 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Align | bool | 否 | false | 是否开启切片对齐功能。参看注释1。 |
| Mixed | bool | 否 | false | 是否开启合流切片功能。参看注释2。 |
| RedundantDuration | Uint32 | 否 | 2 | 冗余切片时长,单位为毫秒。关于冗余切片功能,参看注释3 |
| IgnoreSilence | bool | 否 | false | 是否忽略静音切片 |
Align 是音频切片对齐功能的开关,默认为 False。你可以使用音频切片对齐功能,对齐各个用户音频切片的开始和结束时刻。
Align=False 时,关闭音频切片对齐。在某个切片周期中,如果用户有发送音频流的行为,即生成音频切片。如果用户在切片的周期中,有部分时间未发布音频,返回的音频切片时长会小于切片周期。各个用户音频切片开始时间不一定一致。Align=True 时,开启音频切片对齐。在某个切片周期中,如果用户有发送音频流的行为,即生成音频切片。切片长度和切片周期相等,且各个用户音频切片开始的时间一致。如果用户在切片的周期中,有部分时间未发布音频,切片长度不变,这段时间呈现静音帧。如果用户在某个切片周期中始终没有发布音频,则不生成音频切片。Mixed 是音频切片合流功能的开关。默认为 False。
Mixed=False 时,只会对 TargetStreams 中指定的音频流分别切片。Mixed=True 时,除了会对 TargetStreams 中指定的音频流分别切片,还会对指定的音频流进行混音,生成合流切片,合流切片对应的用户名为 mixed。此时,任务创建后,不管是否有人上麦,会持续回调混音切片。不同平台的回调参看:
| 操作 | Android API | iOS API | Windows API |
|---|---|---|---|
| 本地麦克风录制和远端所有用户混音后的音频数据回调 | onMixedAudioFrame | onMixedAudioFrame: | onMixedAudioFrame |
Duration值进行固定时长切片,可能存在敏感词被截断,未被识别的情况。此时你可以添加冗余切片,即上一段切片的末尾指定时长,来避免此情况,此时切片的时长变为RedundantDuration + Duration。Duration = 20,redundantDuration = 3 时,最终输出的前三个文件时长为:[0-20], [17-40], [37-60]。