1. 接口描述
接口请求域名: cme.tencentcloudapi.com 。
对媒体转推项目进行操作。
操作类型
AddSource
(添加输入源),项目状态为 Idle、Working 时均可以操作。参见 示例;DeleteSource
(删除输入源),项目状态为 Idle、Working 时均可以操作。参见 示例;SwitchSource
(切换当前播放的输入源),项目状态为 Working 时可以操作。参见 示例AddDestination
( 添加输出源),项目状态为 Idle、Working 时均可以操作。参见 示例;DeleteDestination
(删除输出源),项目状态为 Idle、Working 时均可以操作。参见 示例;EnableDestination
(启动输出源),项目状态为 Working 时可以操作。参见 示例;DisableDestination
(停止输出源),项目状态为 Working 时可以操作。参见 示例;ModifyDestination
(修改输出源),项目状态为 Idle、Working 时均可以操作。参见 示例;Start
(启动媒体转推),项目状态为 Idle 时可以操作。参见 示例。发起 Start 请求成功后,媒体转推项目开始启动,30秒内还需要再进行一次 Confirm操作进行确认;Confirm
(确认媒体转推项目启动),项目状态为 Working 时可以操作。参见 示例;Stop
(停止媒体转推),项目状态为 Working 时可以操作。参见 示例;ModifyOutputMediaSetting
(修改媒体输出配置),项目状态为 Idle 时可以操作。参见 示例;ModifyPlaySetting
(修改播放结束时间),项目状态为 Idle、Working 时均可以操作。参见 示例;DescribePlayInfo
(查询播放信息),项目状态为 Idle、Working 时均可以操作。参见 示例。
默认接口请求频率限制:20次/秒。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:HandleMediaCastProject。 |
Version | 是 | String | 公共参数,本接口取值:2019-10-29。 |
Region | 否 | String | 公共参数,本接口不需要传递此参数。 |
Platform | 是 | String | 平台 Id,指定访问的平台。关于平台概念,请参见文档 平台。 示例值:test |
ProjectId | 是 | String | 媒体转推项目 Id 。 示例值:project_id |
Operation | 是 | String | 请参考 操作类型。 示例值:AddSource |
SourceInfos.N | 否 | Array of MediaCastSourceInfo | 输入源信息。具体操作方式详见 操作类型 及下文示例。 当 Operation 为 AddSource、DeleteSource、SwitchSource 时必填。 |
DestinationInfos.N | 否 | Array of MediaCastDestinationInfo | 输出源信息。具体操作方式详见 操作类型 及下文示例。 当 Operation 为 AddDestination、DeleteDestination、EnableDestination、DisableDestination、ModifyDestination 时必填。 |
OutputMediaSetting | 否 | MediaCastOutputMediaSetting | 输出媒体配置。具体操作方式详见 操作类型 及下文示例。 当 Operation 为 ModfiyOutputSetting 时必填。 |
PlaySetting | 否 | MediaCastPlaySetting | 播放控制参数。具体操作方式详见 操作类型 及下文示例。 当 Operation 为 ModifyPlaySetting 时必填。 |
Position | 否 | Integer | 新添加的输入源位于输入源列表的位置,从0开始。默认加在输入源列表的后面。具体操作方式详见 操作类型 及下文示例。 当 Operation 为 AddSource 时必填。 |
Operator | 否 | String | 操作者。如不填,默认为 cmeid_system ,表示平台管理员操作,可以操作所有媒体转推项目。如果指定操作者,则操作者必须为项目所有者。示例值:60097a8a8ea83d00017b484b |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
PlayInfo | MediaCastPlayInfo | 播放信息,Operation 为 DescribePlayInfo 时返回。 注意:此字段可能返回 null,表示取不到有效值。 |
SourceInfoSet | Array of MediaCastSourceInfo | 输入源信息, Operation 为 AddSource 时返回添加成功的输入源信息。 注意:此字段可能返回 null,表示取不到有效值。 |
DestinationInfoSet | Array of MediaCastDestinationInfo | 输出源信息, Operation 为 AddDestination 时返回添加成功的输出源信息。 注意:此字段可能返回 null,表示取不到有效值。 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 修改输出源
修改输出源的名称或者输出地址,如果项目状态是 Working 状态并且修改了输出地址, 将断开原来输出源地址的直播流,向新的输出源地址输出直播流。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 ModifyDestination。 |
DestinationInfos | 是 | Array of MediaCastDestinationInfo | 输出源信息。一次修改一个输出源。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "ModifyDestination",
"DestinationInfos": [
{
"Id": "dt_01",
"Name": "new name",
"PushUrl": "rtmp://test.com/new?t=abc"
}
],
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例2 停止输出源
项目状态是 Working 状态时,停止输出源将断开该输出源的直播流。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 DisableDestination。 |
DestinationInfos | 是 | Array of MediaCastDestinationInfo | 输出源信息。只需要带上输出源的 Id 参数。一次只能停止一个输出源。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "DisableDestination",
"DestinationInfos": [
{
"Id": "dt_01"
}
],
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例3 删除输入源
如果项目状态是 Working 状态,不能删除正在播放的输入源。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 DeleteSource。 |
SourceInfos | 是 | Array of MediaCastSourceInfo | 输入源信息,只需要带上输入源的 Id 。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "DeleteSource",
"SourceInfos": [
{
"Id": "st_02"
}
],
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例4 删除输出源
项目状态是 Working 状态时,删除输出源将停止该输出源的直播输出。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 DeleteDestination。 |
DestinationInfos | 是 | Array of MediaCastDestinationInfo | 输出源信息,只需要带上输出源的 Id 参数。一次只能删除一个输出源。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "DeleteDestination",
"DestinationInfos": [
{
"Id": "dt_02"
}
],
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例5 启动输出源
重新启动已经停止的输出源,项目状态是 Working 状态时进行操作。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 EnableDestination。 |
DestinationInfos | 是 | Array of MediaCastDestinationInfo | 输出源信息。只需要带上输出源的 Id 参数。一次只能启动一个输出源。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "EnableDestination",
"DestinationInfos": [
{
"Id": "dt_02"
}
],
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例6 添加输入源
新添加的输入源加到输入源列表的后面。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 AddSource。 |
Position | 否 | Integer | 输入源列表中的位置,0表示第一个位置。默认添加到输入源列表的后面。 |
SourceInfos | 是 | Array of MediaCastSourceInfo | 输入源信息。输入源个数最大为100个。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "AddSource",
"Position": 0,
"SourceInfos": [
{
"Type": "CME",
"MaterialId": "5fd8ad3d628dc30001bd0895"
},
{
"Type": "VOD",
"FileId": "5285485487985271487"
}
],
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [
{
"Id": "st_01",
"Type": "CME",
"MaterialId": "5fd8ad3d628dc30001bd0895"
},
{
"Id": "st_02",
"Type": "VOD",
"FileId": "5285485487985271487"
}
],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例7 添加输出源
项目状态为 Working 状态时,添加输出源后,将向新的输出源推送直播流。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 AddDestination。 |
DestinationInfos | 是 | Array of MediaCastDestinationInfo | 输出源信息。一次添加一个输出源。输出源个数最大为10。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "AddDestination",
"DestinationInfos": [
{
"Name": "test",
"PushUrl": "rtmp://test.com/live/abc?t=xxx"
}
],
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [
{
"Id": "dt_02",
"PushUrl": "rtmp://test.com/live/aa?t=xx"
}
],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例8 修改结束时间
如果项目是 Working 状态,将按照修改后的结束时间结束项目。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 ModifyPlaySetting。 |
PlaySetting | 是 | MediaCastPlaySetting | 播放参数。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "ModifyPlaySetting",
"PlaySetting": {
"EndTime": "2022-12-20T20:00:00Z"
},
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例9 停止媒体转推
停止媒体转推。停止操作将停止输入源的播放并断开直播流,项目状态变为 Idle 状态。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 Stop。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "Stop",
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例10 启动媒体转推
启动媒体转推。启动成功后项目状态变为 Working 状态,从输入源列表的第一个输入源开始播放,向输出源列表推送直播流。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 Start。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "Start",
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例11 设置定时转推
项目需要是 Idle 状态,设置自动转推时间后在指定时间内启动项目进行转推。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 ModifyPlaySetting。 |
PlaySetting | 是 | MediaCastPlaySetting | 播放参数。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "ModifyPlaySetting",
"PlaySetting": {
"AutoStartTime": "2022-12-20T20:00:00Z"
},
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例12 修改输出的媒体配置
修改输出的媒体配置,项目状态是 Working 状态时不能修改输出的媒体配置。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 ModifyOutputMediaSetting。 |
OutputMediaSetting | 是 | MediaCastOutputMediaSetting | 输出的媒体配置。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "ModifyOutputMediaSetting",
"OutputMediaSetting": {
"VideoSetting": {
"Width": 1920,
"Height": 1080,
"Bitrate": 2500,
"FrameRate": 30
}
},
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例13 切换当前播放的输入源
项目状态为 Working 状态时切换生效,切换后从该输入源开始播放。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 SwitchSource。 |
SourceInfos | 是 | Array of MediaCastSourceInfo | 输入源信息,只需要带上输入源的 Id 。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "SwitchSource",
"SourceInfos": [
{
"Id": "st_02"
}
],
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例14 确认媒体转推项目启动
发起 Start 操作成功后, 媒体转推项目开始启动,在30秒内还需要发起 Confirm 操作进行确认。如果超时没有确认,该项目会被自动停止掉。
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 Confirm。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "Confirm",
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": null,
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例15 查询媒体转推项目的播放信息
输入参数:
除公共参数及 Platform、ProjectId 之外,其余参数填写规范如下:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Operation | 是 | String | 请填写 DescribePlayInfo。 |
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: HandleMediaCastProject
<公共请求参数>
{
"Platform": "test",
"Operation": "DescribePlayInfo",
"ProjectId": "12522d74de35ff"
}
输出示例
{
"Response": {
"PlayInfo": {
"Status": "Working",
"CurrentSourceId": "st_0123",
"CurrentSourcePosition": 100,
"CurrentSourceDuration": 3490,
"LoopCount": 1,
"DestinationStatusSet": [
{
"Id": "dt_123",
"PushUrl": "rtmp://test.com/live/aa?t=xx",
"Status": "Working"
}
]
},
"SourceInfoSet": [],
"DestinationInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
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 | 操作失败。 |
InternalError | 内部错误。 |
InvalidParameter | 参数错误。 |
InvalidParameter.Platform | 平台参数非法。 |
InvalidParameterValue | 参数取值错误。 |
InvalidParameterValue.MediaCastSourceInfosInvalid | 输入源信息非法。 |
InvalidParameterValue.OperationInvalid | 转推操作非法。 |
InvalidParameterValue.Operator | 无效的操作者。 |
InvalidParameterValue.Platform | 平台参数取值错误。 |
InvalidParameterValue.ProjectId | 项目不存在。 |
LimitExceeded | 超过配额限制。 |
ResourceNotFound | 资源不存在。 |
ResourceNotFound.Platform | 平台不存在。 |