操作媒体转推项目

最近更新时间:2024-04-03 11:14:22

我的收藏

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次/秒。

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

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。

命令行工具

6. 错误码

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

错误码 描述
FailedOperation 操作失败。
InternalError 内部错误。
InvalidParameter 参数错误。
InvalidParameter.Platform 平台参数非法。
InvalidParameterValue 参数取值错误。
InvalidParameterValue.MediaCastSourceInfosInvalid 输入源信息非法。
InvalidParameterValue.OperationInvalid 转推操作非法。
InvalidParameterValue.Operator 无效的操作者。
InvalidParameterValue.Platform 平台参数取值错误。
InvalidParameterValue.ProjectId 项目不存在。
LimitExceeded 超过配额限制。
ResourceNotFound 资源不存在。
ResourceNotFound.Platform 平台不存在。