在你的音视频应用中,你可能需要将在线媒体流输入到 RTC 房间中,供频道内的远端用户欣赏。
你可以使用 StartRelayStream
这个 OpenAPI 实现这一功能。
你可以调用 StartRelayStream
接口,指定你所属的 AppId
,对指定 roomId
对应房间内用户输入在线媒体流。
如果媒体流状态发生变化,你在控制台上设置的回调地址会收到每个状态变化的回调。有关回调结果的详细说明,参看 RelayStreamStateChanged
本接口开启后有效期为 72 小时,即接口开启 72 小时后,会自动停止,并通过回调告知具体信息。
在开始输入在线媒体流前,你必须已经在控制台上开启在线媒体流功能。
请求频率:QPS 不得超过 150。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | StartRelayStream | 接口名称。当前 API 的名称为 StartRelayStream 。 |
Version | String | 是 | 2020-12-01 | 接口版本。当前 API 的版本为 2020-12-01 。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
AppId | String | 是 | Your_AppId | 应用的唯一标志 |
BusinessId | String | 否 | Your_BusinessId | 业务标识 |
RoomId | String | 是 | Your_RoomId | 房间 ID,是房间的唯一标志 |
TaskId | String | 是 | Your_TaskId | 任务 ID。你必须对每个任务设定 TaskId,且在后续进行任务更新和结束时也须使用该 TaskId。
[a-zA-Z0-9_@\-\.]{1,128} |
UserId | String | 是 | Your_UserId | 在线媒体流对应的的 UserId |
MaxIdleTime | Integer | 否 | 300 | 任务的空闲超时时间。超过此时间后,任务自动终止。值的范围为 [5, 600] ,单位为秒。默认值为300 。 |
Token | String | 是 | Your_token | 客户端与业务服务端进行通讯时用于身份认证的 token 值 |
Control | Object | 是 | / | 控制选项 |
StreamUrl | String | 是 | rtmp://xxx | 在线流媒体地址。媒体格式应为:hls、rtmp、mp4、flv、dash、或 ts。如源流为海外,建议联系技术支持,以保障最佳体验。 |
MediaType | Integer | 否 | 0 | 媒体类型。
|
StreamMode | Integer | 否 | 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=2020-12-01 { "AppId": "Your_AppId", "BusinessId": "Your_BusinessId", "RoomId": "Your_RoomId", "TaskId": "Your_TaskId", "UserId": "Your_UserId", "Token": "Your_Token", "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": "Your_RequestId", "Action": "StartRelayStream", "Version": "2020-12-01", "Service": "rtc", "Region": "cn-north-1" } }
您可访问公共错误码,获取更多错误码信息。