微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

媒体转换完成后,AWS 将视频名称发布到后端 API

如何解决媒体转换完成后,AWS 将视频名称发布到后端 API

在我的项目中,用户可以上传视频。因此,当用户上传视频时,视频名称存储在表中,认情况下“is_processed”字段设置为 false

然后上传的视频存储在S3中。当视频 a 到达 S3 时,会触发 Lambda 并将视频提供给媒体转换。将视频转换为 HLS 格式后,它会再次存储在单独的 S3 存储桶中。

现在我希望我的“is_processed”字段在 mediaconvert 成功将视频转换为 HLS 时为 true

那么,我如何从 AWS 与我的 Laravel 后端通信并使该特定视频的“is_processed”字段为真。

解决方法

您可以通过元数据标签、cloudwatch 和另一个 Lambda 函数的组合来做到这一点。

  1. 在 MediaConvert 中,每个作业都可以使用元数据标签来分配唯一 ID。例如:

键= uuid

值=

此值需要与 is_processed=false

一起插入到您的数据库表中

有关元数据标签的详细信息,请参阅 https://docs.aws.amazon.com/mediaconvert/latest/ug/user-metadata-tags.html

  1. 您已经创建的 lambda 函数启动了 MediaConvert 中的工作。链中的下一步是创建一个 cloudwatch 事件,以在作业完成时触发另一个 Lambda 函数。例如:

Cloudwatch --> 事件 --> 规则 --> 创建规则

服务名称 = MediaConvert

事件类型 = MediaConvert 作业状态更改

特定状态 = 完成

目标 --> Lambda 函数

有关 cloudwatch 事件的更多信息,请参阅 https://docs.aws.amazon.com/mediaconvert/latest/ug/cloudwatch_events.html

  1. MediaConvert 作业完成后,这将发送 CloudWatch 事件,该事件将触发您的 Lambda 函数以显示作业已完成。您可以使用用户元数据中定义的 uuid 密钥对来查找数据库条目,将 is_processed=false 更新为 is_processed=true

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。