上云无忧 > 文档中心 > 腾讯云云函数使用教程 - MPS 触发器
云函数 SCF
腾讯云云函数使用教程 - MPS 触发器

文档简介:
视频处理(Media Processing Service,MPS)是针对海量多媒体数据,提供的云端转码和音视频处理服务。您可以编写云函数来处理 MPS 中的回调信息,通过接收相关回调帮助转储、投递和处理视频任务中的相关事件与后续内容。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
视频处理(Media Processing Service,MPS)是针对海量多媒体数据,提供的云端转码和音视频处理服务。您可以编写云函数来处理 MPS 中的回调信息,通过接收相关回调帮助转储、投递和处理视频任务中的相关事件与后续内容。
MPS 触发器具有以下特点:
Push 模型:MPS 触发器会监听视频处理的回调信息,并通过单次触发的方式将事件数据推送至 SCF 函数。
异步调用:MSP 触发器始终使用异步调用类型来调用函数,结果不会返回给调用方。有关调用类型的更多信息,请参见 调用类型

MPS 触发器属性

事件类型:MPS 触发器以账号维度的事件类型推送 Event 事件,目前支持工作流任务(WorkflowTask)和视频编辑任务(EditMediaTask)两种事件类型触发。
事件处理:MPS 触发器以服务维度产生的事件作为事件源,不区分地域、资源等属性。每个账号全地域只能创建一个 MPS 触发器。如需多个函数并行处理任务,请参见 函数间调用 SDK

MPS 触发器的事件消息结构

在指定的 MPS 触发器接收到消息时,事件结构与字段以 WorkflowTask 为例,示例如下:
		
{
"EventType":"WorkflowTask",
"WorkflowTaskEvent":{
"TaskId":"245****654-WorkflowTask-f46dac7fe2436c47******d71946986t0",
"Status":"FINISH",
"ErrCode":0,
"Message":"",
"InputInfo":{
"Type":"COS",
"CosInputInfo":{
"Bucket":"macgzptest-125****654",
"Region":"ap-guangzhou",
"Object":"/dianping2.mp4"
}
},
"MetaData":{
"AudioDuration":11.261677742004395,
"AudioStreamSet":[
{
"Bitrate":127771,
"Codec":"aac",
"SamplingRate":44100
}
],
"Bitrate":2681468,
"Container":"mov,mp4,m4a,3gp,3g2,mj2",
"Duration":11.261677742004395,
"Height":720,
"Rotate":90,
"Size":3539987,
"VideoDuration":10.510889053344727,
"VideoStreamSet":[
{
"Bitrate":2553697,
"Codec":"h264",
"Fps":29,
"Height":720,
"Width":1280
}
],
"Width":1280
},
"MediaProcessResultSet":[
{
"Type":"Transcode",
"TranscodeTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"SUCCESS",
"Input":{
"Definition":10,
"WatermarkSet":[
{
"Definition":515247,
"TextContent":"",
"SvgContent":""
}
],
"OutputStorage":{
"Type":"COS",
"CosOutputStorage":{
"Bucket":"gztest-125****654",
"Region":"ap-guangzhou"
}
},
"OutputObjectPath":"/dasda/dianping2_transcode_10",
"SegmentObjectName":"/dasda/dianping2_transcode_10_{number}",
"ObjectNumberFormat":{
"InitialValue":0,
"Increment":1,
"MinLength":1,
"PlaceHolder":"0"
}
},
"Output":{
"OutputStorage":{
"Type":"COS",
"CosOutputStorage":{
"Bucket":"gztest-125****654",
"Region":"ap-guangzhou"
}
},
"Path":"/dasda/dianping2_transcode_10.mp4",
"Definition":10,
"Bitrate":293022,
"Height":320,
"Width":180,
"Size":401637,
"Duration":11.26200008392334,
"Container":"mov,mp4,m4a,3gp,3g2,mj2",
"Md5":"31dcf904c03d0cd78346a12c25c0acc9",
"VideoStreamSet":[
{
"Bitrate":244608,
"Codec":"h264",
"Fps":24,
"Height":320,
"Width":180
}
],
"AudioStreamSet":[
{
"Bitrate":48414,
"Codec":"aac",
"SamplingRate":44100
}
]
}
},
"AnimatedGraphicTask":null,
"SnapshotByTimeOffsetTask":null,
"SampleSnapshotTask":null,
"ImageSpriteTask":null
},
{
"Type":"AnimatedGraphics",
"TranscodeTask":null,
"AnimatedGraphicTask":{
"Status":"FAIL",
"ErrCode":30010,
"Message":"TencentVodPlatErr Or Unkown",
"Input":{
"Definition":20000,
"StartTimeOffset":0,
"EndTimeOffset":600,
"OutputStorage":{
"Type":"COS",
"CosOutputStorage":{
"Bucket":"gztest-125****654",
"Region":"ap-guangzhou"
}
},
"OutputObjectPath":"/dasda/dianping2_animatedGraphic_20000"
},
"Output":null
},
"SnapshotByTimeOffsetTask":null,
"SampleSnapshotTask":null,
"ImageSpriteTask":null
},
{
"Type":"SnapshotByTimeOffset",
"TranscodeTask":null,
"AnimatedGraphicTask":null,
"SnapshotByTimeOffsetTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"SUCCESS",
"Input":{
"Definition":10,
"TimeOffsetSet":[
],
"WatermarkSet":[
{
"Definition":515247,
"TextContent":"",
"SvgContent":""
}
],
"OutputStorage":{
"Type":"COS",
"CosOutputStorage":{
"Bucket":"gztest-125****654",
"Region":"ap-guangzhou"
}
},
"OutputObjectPath":"/dasda/dianping2_snapshotByOffset_10_{number}",
"ObjectNumberFormat":{
"InitialValue":0,
"Increment":1,
"MinLength":1,
"PlaceHolder":"0"
}
},
"Output":{
"Storage":{
"Type":"COS",
"CosOutputStorage":{
"Bucket":"gztest-125****654",
"Region":"ap-guangzhou"
}
},
"Definition":0,
"PicInfoSet":[
{
"TimeOffset":0,
"Path":"/dasda/dianping2_snapshotByOffset_10_0.jpg",
"WaterMarkDefinition":[
515247
]
}
]
}
},
"SampleSnapshotTask":null,
"ImageSpriteTask":null
},
{
"Type":"ImageSprites",
"TranscodeTask":null,
"AnimatedGraphicTask":null,
"SnapshotByTimeOffsetTask":null,
"SampleSnapshotTask":null,
"ImageSpriteTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"SUCCESS",
"Input":{
"Definition":10,
"OutputStorage":{
"Type":"COS",
"CosOutputStorage":{
"Bucket":"gztest-125****654",
"Region":"ap-guangzhou"
}
},
"OutputObjectPath":"/dasda/dianping2_imageSprite_10_{number}",
"WebVttObjectName":"/dasda/dianping2_imageSprite_10",
"ObjectNumberFormat":{
"InitialValue":0,
"Increment":1,
"MinLength":1,
"PlaceHolder":"0"
}
},
"Output":{
"Storage":{
"Type":"COS",
"CosOutputStorage":{
"Bucket":"gztest-125****654",
"Region":"ap-guangzhou"
}
},
"Definition":10,
"Height":80,
"Width":142,
"TotalCount":2,
"ImagePathSet":[
"/dasda/imageSprite/dianping2_imageSprite_10_0.jpg"
],
"WebVttPath":"/dasda/imageSprite/dianping2_imageSprite_10.vtt"
}
}
}
]
}
}

WorkflowTask 事件

WorkflowTask 事件消息体详细字段如下:
		
{
"EventType":"WorkflowTask",
"WorkflowTaskEvent":{
// WorkflowTaskEvent 字段
}
}
WorkflowTask 数据结构及字段内容详细说明:
名称
类型
描述
TaskId
String
视频处理任务 ID。
Status
String
任务流状态,取值如下:
PROCESSING:处理中。
FINISH:已完成。
ErrCode
Integer
已弃用,请使用各个具体任务的 ErrCode。
Message
String
已弃用,请使用各个具体任务的 Message。
InputInfo
MediaInputInfo
视频处理的目标文件信息。注意:此字段可能返回 null,表示取不到有效值。
MetaData
MediaMetaData
原始视频的元信息。注意:此字段可能返回 null,表示取不到有效值。
MediaProcessResultSet
Array of MediaProcessTaskResult
视频处理任务的执行状态与结果。
AiContentReviewResultSet
Array of AiContentReviewResult
视频内容审核任务的执行状态与结果。
AiAnalysisResultSet
Array of AiAnalysisResult
视频内容分析任务的执行状态与结果。
AiRecognitionResultSet
Array of AiRecognitionResult
视频内容识别任务的执行状态与结果。

EditMediaTask 事件

EditMediaTask 事件消息体详细字段如下:
		
{
"EventType":"EditMediaTask",
"EditMediaTaskEvent":{
// EditMediaTask 字段
}
}
EditMediaTask 数据结构及字段内容详细说明:
名称
类型
描述
TaskId
String
任务 ID。
Status
String
任务状态,取值如下:
PROCESSING:处理中。
FINISH:已完成。
ErrCode
Integer
错误码0:成功;其他值:失败。
Message
String
错误信息。
Input
EditMediaTaskInput
视频编辑任务的输入。
Output
EditMediaTaskOutput
视频编辑任务的输出。注意:此字段可能返回 null,表示取不到有效值。
相似文档
  • 您可以通过编写云函数 SCF 来实现 Web 后端服务,并通过负载均衡 CLB 对外提供服务。负载均衡 CLB 触发器会将请求内容以参数形式传递给函数,并将函数返回作为响应返回给请求方。
  • 概述: 用户可以编写 SCF 函数来处理自身业务逻辑,并通过 SCF 暴露的管理接口来触发云函数。管理接口在腾讯云中统一称为云 API。通过使用 SCF 云 API 中的 Invoke 接口,用户可以按需触发调用云函数。
  • 产品介绍: 腾讯云事件总线(EventBridge)是一款安全、稳定、高效的无服务器事件管理平台。事件中心的事件总线可以接收来自您自己的应用程序、软件即服务(SaaS)和腾讯云服务的实时事件及相关数据流,并将事件、数据路由到,触发云函数完成事件的处理。
  • 通过 EventBridge 事件总线,用户可以编写云函数来处理 TDMQ 消息队列中收取到的消息。云函数后台模块可以作为消费者消费 TDMQ 中的消息,并将消息传递给云函数,本篇文档将为您指导,云函数如何通过 EventBridge 事件总线触发器,接收并消费来自 TDMQ 的产品事件。
  • 当您调用触发器接口 设置函数触发方式(CreateTrigger)时,对应的 TriggerDesc 参数为触发器描述,您可参考本文进行使用。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部