4

我想为用户添加一个将视频上传到网站的选项。我想知道 AWS Elemental MediaConvert 是否可以处理必要的转码。

使用 aws sdk,我可以像这样向 aws Elemental MediaConvert 提交作业以进行转码......

const result = await new AWS.MediaConvert({apiVersion: '2017-08-29'}).createJob(params).promise()

...但是这只是返回新创建的工作。我似乎无法在任何地方看到如何真正知道工作何时完成。我想知道:是否有一种简单的方法可以知道作业何时实际完成(或失败),以便我可以将响应发送回客户端?

4

2 回答 2

4

一种方法是使用 CloudWatch Events 和简单通知服务 ( SNS )。

你必须:

  1. 在您的 Web 服务器上设置一个 HTTP 端点来处理传入的通知。
  2. 创建一个 SNS 主题并将您的 HTTP 端点订阅到该主题。
  3. 就像 zolaemil 描述的那样设置 CloudWatch 事件规则,并将事件的目标设置为 SNS 主题。

当您的 MediaConvert 作业完成时,它将触发 CloudWatch 事件并将作业结果发送到 SNS,然后将其转发到您的 Web 服务器。因此,您实际上是从 MediaConvert 推送到您的 Web 服务器而不是轮询。

于 2019-04-04T04:58:19.240 回答
1

您可以根据 MediaConvert 事件设置Cloudwatch 规则。例如

{
  "source": [
    "aws.mediaconvert"
  ],
  "detail-type": [
    "MediaConvert Job State Change"
  ],
  "detail": {
    "status": [
      "COMPLETE"
    ]
  }
}

它可以针对许多事物,包括 Lambda 函数、SNS 主题等。

于 2019-02-11T23:34:39.547 回答