本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考历史版本。
注意
在使用输入在线媒体流功能前,你必须已经在控制台上开启在线媒体流服务。
在实时音视频通话场景中,若需将在线媒体流输入到 RTC 房间,你可通过调用此接口实现。
通过设定应用标识、房间 ID、任务 ID、用户 ID 及 Token,并配置媒体流控制选项,你可指定在线媒体流输入到 RTC 房间。调用后,接口将返回操作结果。
如果媒体流状态发生变化,你在控制台上设置的回调地址会收到每个状态变化的回调。有关回调结果的详细说明,参看 RelayStreamStateChanged
本接口开启后有效期为 72 小时,即接口开启 72 小时后,会自动停止,并通过回调告知具体信息。
在开始输入在线媒体流前,你必须已经在控制台上开启在线媒体流功能。
请求频率:QPS 不得超过 150。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | StartRelayStream | 接口名称。当前 API 的名称为 StartRelayStream 。 |
Version | String | 是 | 2023-11-01 | 接口版本。当前 API 的版本为 2023-11-01 。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
AppId | String | 是 | 661e****543cf | 你的音视频应用的唯一标志,参看获取 AppId。 |
BusinessId | String | 否 | B****23 | 业务标识 |
RoomId | String | 是 | Room1 | 房间 ID,是房间的唯一标志 |
TaskId | String | 是 | Task1 | 任务 ID。你必须对每个任务设定 TaskId,且在后续进行任务更新和结束时也须使用该 TaskId。
关于 TaskId 及以上 Id 字段的命名规则符合正则表达式: TaskId 重复调用开始接口不会导致请求失败,BaseResponse.Result 会提示 The task has been started. Please do not call the startup task interface repeatedly 。 |
UserId | String | 是 | User1 | 在线媒体流对应的的 UserId |
MaxIdleTime | Integer | 否 | 300 | 任务的空闲超时时间。超过此时间后,任务自动终止。取值范围为 [5, 600] ,单位为秒,默认值为 300 。 |
Token | String | 是 | 001661e****543cf80 | 客户端与业务服务端进行通讯时用于身份认证的 token 值 |
Control | Object | 是 | - | 控制选项 |
StreamUrl | String | 是 | rtmp://xxx | 在线流媒体地址。媒体格式应为:hls、rtmp、mp4、flv、dash、或 ts。如源流为海外,建议联系技术支持,以保障最佳体验。 |
MediaType | Integer | 否 | 0 | 媒体类型。
0 。 |
StreamMode | Integer | 否 | 0 | 流处理模式。
0 。 |
StartTimeStamp | Integer | 否 | 0 | 任务起始时间戳,用于定时播放,Unix 时间,单位为秒。默认为 0 ,表示立即启动。此参数仅对 StartRelayStream 接口生效。 |
Loop | Boolean | 否 | False | 是否循环播放,仅对源流为点播流时生效。 |
VideoWidth | Integer | 否 | 640 | 视频宽度。转码时必填,单位为像素,范围为 [16, 1920] ,必须是偶数,值为奇数时自动调整为偶数。 |
VideoHeight | Integer | 否 | 480 | 视频高度,转码时必填。单位为像素,范围为 [16, 1920] ,必须是偶数,值为奇数时自动调整为偶数。 |
FrameRate | Integer | 否 | 15 | 发送帧率,值的范围为 [1,30] ,默认值为15 ,转码时生效。 |
Bitrate | Integer | 否 | 6000 | 最大发送码率,单位为 Kbps,不填则不限制,转码时生效。 |
本接口无特有的返回参数。公共返回参数请见返回结构。
其中返回值 Result
仅在请求成功时返回 ok
,失败时为空。
POST https://rtc.volcengineapi.com?Action=StartRelayStream&Version=2023-11-01 { "AppId": "661e****543cf", "BusinessId": "B****23", "RoomId": "Room1", "TaskId": "Task1", "UserId": "user1", "Token": "001661e****543cf80", "MaxIdleTime": 300, "Control" : { "StreamUrl": "rtmp://xxx", "MediaType": 0, "StreamMode": 0, "StartTimeStamp": 0, "Loop": false, "VideoWidth": 640, "VideoHeight": 480, "FrameRate": 15, "Bitrate": 6000 } }
{ "Result": "ok", "ResponseMetadata": { "RequestId": "20230****10420", "Action": "StartRelayStream", "Version": "2023-11-01", "Service": "rtc", "Region": "cn-north-1" } }
您可访问公共错误码,获取更多错误码信息。