通过输入在线媒体流功能,你可以在服务端将一个第三方在线媒体流(如直播 RTMP 流、点播 HLS 视频等)拉取并推送到 RTC 房间或推送到 WTN 进行再分发。

典型应用场景如下:
请确保你集成 RTC SDK,实现基本的音视频通话。
开启服务与配置回调。
在服务端发起任务。
在你的业务后台,调用 StartRelayStream 启动一个在线媒体流输入任务。
请求示例:以在房间中循环播放一个点播 MP4 视频为例
其中,
AppId:RTC 应用的 ID。可在 RTC 控制台获取。UserId:需要你自定义。发起任务后,服务端会用该 ID 作为虚拟用户的身份加入 RTC 房间,客户端也可通过此 ID 订阅该流。Token:客户端与业务服务端进行通讯时的身份认证凭证,需要你自己基于 RoomId 和 UserId 生成。Token 生成方法,请参见使用 Token 完成鉴权。
{ "AppId": "661e****543cf", // 必填,替换为实际应用 AppId "RoomId": "meeting_room_9527", // 必填,替换为媒体流要输入的目标房间 ID "TaskId": "task_promo_video_01", // 必填,自定义任务标识,用于后续的更新或停止 "UserId": "Your_UserId", // 必填,替换为你自定义的媒体流的“虚拟用户” ID "Token": "001661e****543cf80", // 必填,为上述 UserId 和 RoomId 生成的有效 Token "MaxIdleTime": 300, // 任务空闲超时时间(秒),超过此时间后,任务自动终止 "Control": { "StreamUrl": "https://example.com/product_intro.mp4", // 替换为目标的在线流媒体地址 "StreamMode": 0, // 流处理模式: 0-转码,1-转封装 "Loop": true, // 是否循环播放,源流为点播流时才生效 // --- 以下为转码参数 (当 StreamMode 为 0 时生效) --- "VideoWidth": 1280, "VideoHeight": 720, "FrameRate": 25, "Bitrate": 1500 } }
在客户端监听 onUserPublishStream,接收在线媒体流进房、发布等状态。
当回调触发时,可通过检查参数
uid是否为第 2 步中指定的userId。如果是,则为服务端输入的在线媒体流。onUserPublishStream具体说明,请参见平台的回调文档。
开启服务。
在服务端发起任务。
在你的业务后台,调用 StartRelayStream 启动一个在线媒体流输入任务。
请求示例:将一个 RTMP 直播流推送到 WTN。
其中,
AppId:WTN 应用的 ID。可在 WTN 控制台创建并获取。WtnStreamId:自定义 WTN 流的 ID,用于标识要推送的流。Token:需要你自己基于 WTN 的 AppID、StreamID、时间戳等参数生成。Token 的生成方法,请参见鉴权规则。
{ "AppId": "661e****543cf", // 必填,替换为实际 WTN 应用 AppId。 "WtnStreamId": "wtn_live_stream_01",// 必填,目标 WTN 流 ID "Token": "001661e****543cf80", // 必填,有效的鉴权 Token "MaxIdleTime": 300, // 任务空闲超时时间(秒) "Control": { "StreamUrl": "rtmp://example.com/live/stream", // 替换为目标的在线流媒体地址 "StreamMode": 1, // 流处理模式: 1-转封装。假设源流为 H.264,无需转码 "Loop": false } }