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相同。 示例值:1600011111 |
| RoomId | 是 | String | TRTC的RoomId,录制的TRTC房间所对应的RoomId。 示例值:82875 |
| RoomIdType | 是 | Integer | TRTC房间号的类型。 【*注意】必须和录制的房间所对应的RoomId类型相同: 0: 字符串类型的RoomId 1: 32位整型的RoomId(默认) 示例值:1 |
| UserId | 是 | String | 输入在线媒体流机器人的UserId,用于进房发起拉流转推任务。 示例值:recorder_1357 |
| UserSig | 是 | String | 输入在线媒体流机器人UserId对应的校验签名,即UserId和UserSig相当于机器人进房的登录密码,具体计算方法请参考TRTC计算UserSig的方案。 示例值:recorder_1357_sig |
| StreamUrl | 否 | String | 源流URL【必填】。如果是视频流,分辨率请保持不变。 示例值:https://a.b/test.mp4 |
| PrivateMapKey | 否 | String | TRTC房间权限加密串,只有在TRTC控制台启用了高级权限控制的时候需要携带,在TRTC控制台如果开启高级权限控制后,TRTC 的后台服务系统会校验一个叫做 [PrivateMapKey] 的“权限票据”,权限票据中包含了一个加密后的 RoomId 和一个加密后的“权限位列表”。由于 PrivateMapKey 中包含 RoomId,所以只提供了 UserSig 没有提供 PrivateMapKey 时,并不能进入指定的房间。 示例值:eJwsj1FPwjAUhf**w8ABP--78ZKOg__ |
| SeekSecond | 否 | Integer | 指定视频从某个秒时间戳播放 示例值:10 |
| AutoPush | 否 | Boolean | 开启自动旁路推流,请确认控制台已经开启该功能。 示例值:true |
| RepeatNum | 否 | Integer | 循环播放次数, 取值范围[-1, 1000], 默认1次。 - 0 无效值 - -1 循环播放, 需要主动调用停止接口或设置MaxDuration 示例值:5 |
| MaxDuration | 否 | Integer | 循环播放最大时长,仅支持RepeatNum设置-1时生效,取值范围[1, 10080],单位分钟。 示例值:60 |
| Volume | 否 | Integer | 音量,取值范围[0, 100],默认100,表示原音量。 示例值:90 |
| EnableProgress | 否 | Boolean | 开启播放进度回调, 默认false,当开启后,播放进度会通过trtc custom data 回调给播放端 示例值:true |
| Tempo | 否 | Float | 播放倍速,默认1.0,可取[0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0] 示例值:1.5 |
3. 输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| TaskId | String | 输入在线媒体流的任务 ID。任务 ID 是对一次输入在线媒体流生命周期过程的唯一标识,结束任务时会失去意义。任务 ID 需要业务保存下来,作为下次针对这个任务操作的参数。 示例值:HMLm5HWNuUAXSb0gTEOx0z1x+nLMZNjXrY3keyUSvu7uu8mF9O656uNtbUtvaWLkpMY134jTN2Ix4vuqgOJ68nQ8tho3ri |
| RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 开启在线输入媒体流
输入示例
POST / HTTP/1.1
Host: trtc.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: StartStreamIngest
<公共请求参数>
{
"SdkAppId": 1400188366,
"RoomId": "9988101",
"RoomIdType": 1,
"UserId": "u46618234",
"UserSig": "eJw1jUsOgkAQBa9CZm1wej4Nmrjwu1AxEeQABAZsDTgBNBrj3RXFbb1UvSc7bCO3oYKNHabaeb6ZJRhcpo94EZkwPYFcjfLQrOUSStof092wqGxsgwkbOF-V3C3V5mOD1lpwznveZOfEWsq6RXEOvi8R**1m6u5OuPxfaan8NjxE5YHQ0HPKTNVSTj-hqhDBF1Kx1xv7mTKR",
"StreamUrl": "https://webrtc-backup-record-default-1258344699.cos.ap-nanjing.myqcloud.com/runningwang/output_f100040.mp4"
}
输出示例
{
"Response": {
"RequestId": "b4096f81-8633-4475-9ee1-8ce4eab20849",
"TaskId": "CR6LqvF7KfFBEyRihlxDN5RBXjdLDEn-LZgRFr+rTEL2p6vnZV4vRaRm5zJS3tEiSir0mwHw-Y5itMY+Rcfy3QpDMCzfXWl5CXXrEFRHuOGHxJCzqSY."
}
}
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: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Java: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for PHP: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Go: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Node.js: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for .NET: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for C++: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Ruby: CNB, 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 | 资源不足。 |