1. 接口描述
接口请求域名: mps.tencentcloudapi.com 。
从 CMQ 获取到消息后,从消息的 msgBody 字段中解析出 MPS 事件通知的内容。
该接口不用于发起网络调用,而是用来帮助生成各个语言平台的 SDK,您可以参考 SDK 中的解析函数,实现事件通知的解析。
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:ParseNotification。 |
Version | 是 | String | 公共参数,本接口取值:2019-06-12。 |
Region | 否 | String | 公共参数,本接口不需要传递此参数。 |
Content | 是 | String | 从 CMQ 获取到的事件通知内容。 示例值:"" |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
EventType | String | 支持事件类型,目前取值有: 示例值:WorkflowTask |
WorkflowTaskEvent | WorkflowTask | 视频处理任务信息,仅当 EventType 为 WorkflowTask,该字段有值。 注意:此字段可能返回 null,表示取不到有效值。 |
EditMediaTaskEvent | EditMediaTask | 视频编辑任务信息,仅当 EventType 为 EditMediaTask,该字段有值。 注意:此字段可能返回 null,表示取不到有效值。 |
SessionId | String | 用于去重的识别码,如果七天内曾有过相同的识别码的请求,则本次的请求会返回错误。最长50个字符,不带或者带空字符串表示不做去重。 示例值:"xxxx" |
SessionContext | String | 来源上下文,用于透传用户请求信息,任务流状态变更回调将返回该字段值,最长1000个字符。 示例值:"" |
ScheduleTaskEvent | ScheduleTask | 编排任务信息,仅当 EventType 为 ScheduleTask,该字段有值。 注意:此字段可能返回 null,表示取不到有效值。 |
Timestamp | Integer | - 过期时间,事件通知签名过期 UNIX 时间戳。 - 来自媒体处理的消息通知默认过期时间是10分钟,如果一条消息通知中的 Timestamp 值所指定的时间已经过期,则可以判定这条通知无效,进而可以防止网络重放攻击。 - Timestamp 的格式为十进制 UNIX 时间戳,即从1970年01月01日(UTC/GMT 的午夜)开始所经过的秒数。 |
Sign | String | 事件通知安全签名 Sign = MD5(Timestamp + NotifyKey)。说明:媒体处理把Timestamp 和 TaskNotifyConfig 里面的NotifyKey 进行字符串拼接后通过 MD5 计算得出 Sign 值,并将其放在通知消息里,您的后台服务器在收到通知消息后可以根据同样的算法确认 Sign 是否正确,进而确认消息是否确实来自媒体处理后台。 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 解析事件通知内容
解析事件通知内容
输入示例
POST / HTTP/1.1
Host: mps.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ParseNotification
<公共请求参数>
{
"Content": "{\"EventType\":\"ProcedureStateChanged\",XXX"
}
输出示例
{
"Response": {
"EventType": "WorkflowTask",
"WorkflowTaskEvent": {
"TaskId": "1256768367-Procedure-475b7237438a39560b9879a4556cb177t1",
"Status": "FINISH",
"ErrCode": 0,
"Message": "",
"InputInfo": {
"Type": "COS",
"CosInputInfo": {
"Bucket": "TopRankVideo-125xxx88",
"Region": "ap-chongqing",
"Object": "/movie/201907/WildAnimal.mov"
},
"UrlInputInfo": null,
"S3InputInfo": null
},
"MetaData": {
"AudioDuration": 59.990001678467,
"AudioStreamSet": [
{
"Bitrate": 383854,
"SamplingRate": 48000,
"Codec": "aac",
"Channel": 0,
"Loudness": 0,
"Codecs": "abc"
}
],
"Bitrate": 1021028,
"Container": "mov,mp4,m4a,3gp,3g2,mj2",
"Duration": 60,
"Height": 480,
"Rotate": 0,
"Size": 7700180,
"VideoDuration": 60,
"VideoStreamSet": [
{
"Bitrate": 637174,
"Codec": "h264",
"Fps": 23,
"Height": 480,
"Width": 640,
"ColorPrimaries": "abc",
"ColorSpace": "abc",
"ColorTransfer": "abc",
"HdrType": "abc",
"Codecs": "abc"
}
],
"Width": 640
},
"MediaProcessResultSet": [
{
"Type": "Transcode",
"TranscodeTask": {
"Status": "SUCCESS",
"ErrCodeExt": "SUCCESS",
"ErrCode": 0,
"Message": "SUCCESS",
"Progress": 0,
"Input": {
"Definition": 20,
"WatermarkSet": null,
"OutputObjectPath": "",
"RawParameter": null,
"StartTimeOffset": 0,
"EndTimeOffset": 0,
"OverrideParameter": null,
"ObjectNumberFormat": null,
"OutputStorage": null,
"SegmentObjectName": "",
"HeadTailParameter": null,
"MosaicSet": []
},
"Output": {
"OutputStorage": {
"Type": "abc",
"CosOutputStorage": {
"Bucket": "abc",
"Region": "abc"
},
"S3OutputStorage": {
"S3Bucket": "abc",
"S3Region": "abc",
"S3SecretId": "abc",
"S3SecretKey": "abc"
}
},
"Path": "/movie/201907/WildAnimal_transcode_20.mp4",
"Size": 4189073,
"Container": "mov,mp4,m4a,3gp,3g2,mj2",
"Height": 480,
"Width": 640,
"Bitrate": 552218,
"Md5": "eff7031ad7877865f9a3240e9ab165ad",
"Duration": 60.04700088501,
"VideoStreamSet": [
{
"Bitrate": 503727,
"Codec": "h264",
"Fps": 24,
"Height": 480,
"Width": 640,
"ColorPrimaries": "abc",
"ColorSpace": "abc",
"ColorTransfer": "abc",
"HdrType": "abc",
"Codecs": "abc"
}
],
"AudioStreamSet": [
{
"Bitrate": 48491,
"Codec": "aac",
"SamplingRate": 44100,
"Channel": 0,
"Loudness": 0,
"Codecs": "abc"
}
],
"Definition": 0
}
},
"AnimatedGraphicTask": null,
"SnapshotByTimeOffsetTask": null,
"SampleSnapshotTask": null,
"ImageSpriteTask": null
}
],
"AiQualityControlTaskResult": null,
"AiAnalysisResultSet": [],
"AiRecognitionResultSet": [],
"AiContentReviewResultSet": []
},
"RequestId": "335bdaa3-db0e-46ce-9946-51941d9cb0f5",
"ScheduleTaskEvent": null,
"EditMediaTaskEvent": null,
"SessionId": "",
"SessionContext": ""
}
}
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 | 操作失败。 |
FailedOperation.InvalidMpsUser | 操作失败:非法 mps 用户。 |
InvalidParameter | 参数错误。 |
InvalidParameterValue.InvalidContent | 解析内容 Content 的值不合法。 |