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。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
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 | 资源不足。 |