本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考历史版本。
在实时音视频通话场景中,若需向不在房间的用户发布音视频内容,你可通过调用此接口实现。
通过设定应用标识、WTN 流 ID 以及目标音视频流等信息,你能够指定音视频流及其布局方式,实现单路或最多 17 路音视频流的发布。此外,通过视频编码参数、视频布局定义以及任务空闲超时时间等设置,你能够灵活控制WTN 流的发布效果。调用此接口后,接口将返回操作结果。
如果媒体流状态发生变化,你在控制台上设置的回调地址会收到每个状态变化的回调。有关回调结果的详细说明,参看 PushPublicStream。
你还可以通过客户端发布 WTN 流,详见 WTN 流的发布和订阅。
请求频率:QPS 不得超过 150。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
Action | String | 是 | StartPushPublicStream | 接口名称。当前 API 的名称为 StartPushPublicStream。 |
Version | String | 是 | 2023-11-01 | 接口版本。当前 API 的版本为 2023-11-01。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
AppId | String | 是 | 661e****543cf | 你的音视频应用的唯一标志,参看获取 AppId。 |
BusinessId | String | 否 | Bus****ss1 | 你创建的业务标识 |
PublicStreamId | String | 是 | PublicStream1 | WTN 流 ID。你必须对每路公共流,设定 PublicStreamId 时命名规则符合正则表达式: [a-zA-Z0-9_@\-\.]{1,128} |
TranscodeMode | Integer | 否 | 0 | WTN 流处理模式。支持取值及含义如下: 当
|
TargetStreams | Object[] | 是 | - | 为 WTN 流指定单路或多路媒体流及对应参数,Stream 数组。最高支持 17 路。 |
UserId | String | 否 | user1 | 媒体流的发布方的用户 ID。 UserId 为空时,表示订阅房间内所有流。UserId 需全局唯一。不同房间内的 UserId 不能重复。 |
StreamType | Integer | 否 | 0 | 流类型。支持取值及含义如下:
0。 |
Index | Integer | 否 | 1 | 当选择自定义布局模式时,此字段必填。标记同一路 WTN 流中不同的媒体流。 在同一个 TargetStreams 中,Stream.Index 是唯一的。 |
RoomId | String | 是 | Room1 | 发布 WTN 流的用户所在的房间 ID |
MediaType | Integer | 否 | 0 | 流的媒体类型。支持取值及含义如下:
0。 |
ExcludeStreams | Object[] | 否 | - | 你可以通过本参数排除掉不需要包含在公共流中的音视频流,即黑名单。参数默认为空。黑名单中的流不得超过 17 路。此参数中的 stream 不应和 TargetStreams 中重复。 |
UserId | String | 否 | user1 | 媒体流的发布方的用户 ID。 UserId 为空时,表示订阅房间内所有流。UserId 需全局唯一。不同房间内的 UserId 不能重复。 |
StreamType | Integer | 否 | 0 | 流类型。支持取值及含义如下:
0。 |
Index | Integer | 否 | 1 | 当选择自定义布局模式时,此字段必填。标记同一路 WTN 流中不同的媒体流。 在同一个 TargetStreams 中,Stream.Index 是唯一的。 |
RoomId | String | 是 | Room1 | 发布 WTN 流的用户所在的房间 ID |
MediaType | Integer | 否 | 0 | 流的媒体类型。支持取值及含义如下:
0。 |
Encode | Object | 否 | - | 媒体编码参数 |
VideoConfig | Object | 否 | - | 视频编码配置 |
Layout | Object | 否 | - | 公共流包含多路媒体流时的布局参数。 |
LayoutMode | Integer | 是 | 0 | |
VerticalLayout | Object | 否 | - | 垂直布局参数 |
CustomLayout | Object | 否 | - | 自定义布局参数 |
Control | Object | 否 | - | 控制选项。 |
MaxIdleTime | Integer | 否 | 180 | 任务的空闲超时时间,超过此时间后,任务自动终止。取值范围为 [10, 86400],单位为秒,默认值为 180。只在调用 StartPushPublicStream 时有效。 |
DataMsg | String | 否 | - | 插入 WTN 流的自定义信息,可用于随流信息同步,长度不超过 4 kB。 数据会添加到当前视频帧开始的连续 30 个视频帧中。 只在调用 UpdatePublicStreamParam 时有效。 |
UserCaptureStatsMode | Boolean | 否 | false | 是否开启房间用户采集状态回调。开启后会通过
false。 |
VolumeIndicationMode | Boolean | 否 | false | 是否开启音量指示模式。
false。 |
StreamPublishStatsMode | Boolean | 否 | false | 是否开启房间用户发布状态回调。开启后会通过
false。 |
UserCaptureStatsInterval | Integer | 否 | 2000 | 房间用户采集状态回调间隔,仅在纯音频时生效。取值范围为 [1000,2147483647],单位为毫秒,默认值为 2000。 |
VolumeIndicationInterval | Integer | 否 | 2000 | 音量指示的回调间隔。最小值为 100,单位为毫秒,默认值为 2000。 VideoConfig.FrameRate 大于 10 fps 时,回调间隔才能达到 100ms。 |
StreamPublishStatsInterval | Integer | 否 | 2000 | 房间用户发布状态回调间隔,仅在纯音频时生效。取值范围为 [1000,2147483647],单位为毫秒,默认值为 2000。 |
本接口无特有的返回参数。公共返回参数请见返回结构。
其中返回值 Result 仅在请求成功时返回 ok,失败时为空。
POST https://rtc.volcengineapi.com?Action=StartPushPublicStream&Version=2023-11-01 { "AppId": "You****pId", "PublicStreamId": "Your_PublicStreamId", "TargetStreams": [ { "Index": 1, "RoomId": "Your_RoomId", "UserId": "a", "MediaType": 0, "StreamType": 0 }, { "Index": 2, "RoomId": "Your_RoomId", "UserId": "b", "MediaType": 0, "StreamType": 0 }, { "Index": 3, "RoomId": "Your_RoomId", "UserId": "c", "MediaType": 0, "StreamType": 0 }, { "Index": 4, "RoomId": "Your_RoomId", "UserId": "d", "MediaType": 0, "StreamType": 0 } ], "Control": { "MaxIdleTime": 180 }, "Encode": { "VideoConfig": { "Width": 414, "Height": 736, "FrameRate": 30 } }, "Layout": { "LayoutMode": 2, "CustomLayout": { "Regions": [ { "StreamIndex": 1, "WidthProportion": 0.503, "HeightProportion": 0.335, "LocationX": 0, "LocationY": 0, "RenderMode": 1 }, { "StreamIndex": 2, "WidthProportion": 0.503, "HeightProportion": 0.335, "LocationX": 0, "LocationY": 0.33333334, "RenderMode": 1 }, { "StreamIndex": 3, "WidthProportion": 0.503, "HeightProportion": 0.335, "LocationX": 0, "LocationY": 0.66666667, "RenderMode": 1 }, { "StreamIndex": 4, "WidthProportion": 0.503, "HeightProportion": 0.335, "LocationX": 0.5, "LocationY": 0, "RenderMode": 1 } ] } } }
{ "Result": "ok", "ResponseMetadata": { "RequestId": "20230****10420", "Action": "StartPushPublicStream", "Version": "2023-11-01", "Service": "rtc", "Region": "cn-north-1" } }
您可访问公共错误码,获取更多错误码信息。