开启输入在线媒体流

最近更新时间:2024-08-08 02:24:23

我的收藏

1. 接口描述

接口请求域名: trtc.tencentcloudapi.com 。

将一个在线媒体流推到TRTC房间,更多功能说明见输入媒体流进房
使用输入在线媒体流功能需先订阅 尊享版或旗舰版套餐包 解锁能力位。

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:StartStreamIngest。
Version String 公共参数,本接口取值:2019-07-22。
Region String 公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-beijing, ap-chongqing, ap-guangzhou, ap-shanghai, ap-singapore 。
SdkAppId Integer TRTC的SdkAppId,和TRTC的房间所对应的SdkAppId相同。
示例值:1234
RoomId String TRTC的RoomId,录制的TRTC房间所对应的RoomId。
示例值:1234
RoomIdType Integer TRTC房间号的类型。
【*注意】必须和录制的房间所对应的RoomId类型相同:
0: 字符串类型的RoomId
1: 32位整型的RoomId(默认)
示例值:1
UserId String 输入在线媒体流机器人的UserId,用于进房发起拉流转推任务。
示例值:recorder_1234
UserSig String 输入在线媒体流机器人UserId对应的校验签名,即UserId和UserSig相当于机器人进房的登录密码,具体计算方法请参考TRTC计算UserSig的方案。
示例值:recorder_1234_sig
StreamUrl String 源流URL【必填】。如果是视频流,分辨率请保持不变。
示例值:https://a.b/test.mp4
PrivateMapKey String TRTC房间权限加密串,只有在TRTC控制台启用了高级权限控制的时候需要携带,在TRTC控制台如果开启高级权限控制后,TRTC 的后台服务系统会校验一个叫做 [PrivateMapKey] 的“权限票据”,权限票据中包含了一个加密后的 RoomId 和一个加密后的“权限位列表”。由于 PrivateMapKey 中包含 RoomId,所以只提供了 UserSig 没有提供 PrivateMapKey 时,并不能进入指定的房间。
SeekSecond Integer 指定视频从某个秒时间戳播放
AutoPush Boolean 开启自动旁路推流,请确认控制台已经开启该功能。
RepeatNum Integer 循环播放次数, 取值范围[-1, 1000], 默认1次。
- 0 无效值
- -1 循环播放, 需要主动调用停止接口或设置MaxDuration
MaxDuration Integer 循环播放最大时长,仅支持RepeatNum设置-1时生效,取值范围[1, 10080],单位分钟。

3. 输出参数

参数名称 类型 描述
TaskId String 输入在线媒体流的任务 ID。任务 ID 是对一次输入在线媒体流生命周期过程的唯一标识,结束任务时会失去意义。任务 ID 需要业务保存下来,作为下次针对这个任务操作的参数。
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 启动输入在线媒体流

启动一个输入在线媒体流任务,将在线媒体流"https://a.b/test.mp4"输入TRTC房间,音视频编码采用默认编码值,转推成功后返回TaskId

输入示例

POST / HTTP/1.1
Host: trtc.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: StartStreamIngest
<公共请求参数>

{
    "SdkAppId": 1234567890,
    "RoomId": "room123",
    "UserId": "robot123",
    "UserSig": "xxxxxxxxxxxxxxx",
    "PrivateMapKey": "xxxxxxxxxxxxxxx",
    "RoomIdType": 1,
    "StreamUrl": "https://a.b/test.mp4"
}

输出示例

{
    "Response": {
        "TaskId": "-gCTFWtU7t7DUlo7A8IswFszO9z2O-rbERqJAoK-4pycoZXKjIAAnasdcasdOEycyX4CnzhIm4RAQ..",
        "RequestId": "71993312-6ab8-4768-9124-118e0a20c45f"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.NotAllowed 不允许此操作,请提交工单联系我们
FailedOperation.RestrictedConcurrency 单用户并发过载,请联系我们增大并发路数到合理值。
FailedOperation.TaskExist 任务已存在
InternalError.HttpParseFailed http请求解析失败。
InternalError.InternalError 内部错误,请重试。
InvalidParameter.BodyParamsError body 解析参数失败。
InvalidParameter.RoomId RoomId参数错误。
InvalidParameter.SdkAppId SdkAppId参数错误。
InvalidParameter.StrRoomId StrRoomId参数错误。
InvalidParameter.StreamUrl StreamUrl参数校验失败
InvalidParameter.TaskId TaskId 参数错误。
InvalidParameter.UserSig UserSig过期或错误。
MissingParameter.RoomId 缺少RoomId参数。
MissingParameter.SdkAppId 缺少SdkAppId参数。
MissingParameter.TaskId 缺少TaskId参数。
ResourceInsufficient.RequestRejection 资源不足。