【问题标题】:Getting video metadata of a video stored in s3 bucket using aws lambda node js使用 aws lambda node js 获取存储在 s3 存储桶中的视频的视频元数据
【发布时间】:2020-11-10 20:28:02
【问题描述】:

我有一个视频存储在 aws s3 存储桶中,我想在使用节点 js 运行时的 aws lambda 中获取视频的元数据(如帧速率、分辨率等)。

如果这可以在内存中完成而不是在 lambda 临时内存中下载整个视频会更好

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 aws-lambda mediainfo


    【解决方案1】:

    MediaInfo 原生支持 AWS,无需在第一步下载文件。 MediaInfo 将分析所需的内容下载到 RAM 中,并在需要时自行执行搜索请求。

    网址样式为https://AWSKey:AWSSecret@s3...
    也可以使用预签名的 URL,但 20.03 版本有问题,您需要使用 MediaInfo snapshots

    Jérôme,MediaInfo 的开发者。

    【讨论】:

    • 如果我使用其他网站的 url 会完全下载还是部分获取元数据?
    • 我正在尝试使用 19.09 和 20.03 版本的预签名 URL,但它不起作用。预签名的 URL 在浏览器中运行良好。如何在 aws lambda 中下载更多旧版本
    • 我也试过https://AWSKEY:AWSSECRET@s3.amazonaws.com/bucket/key url,它也不起作用
    • MediaInfo 的行为在 S3 或其他站点上是相同的。 S3 被很多用户使用,已知 AWSKEY:AWSSECRET 样式(由多个赞助商使用)很好,并且在 20.03(19.09 和快照很好)中预签名的 URls 错误。如果您认为有问题,请将带有真实用例(URL 或临时密钥/秘密)的命令发送到 info@mediaarea.net 以进行调试。
    • 好的。所以,我从最新的快照下载了 lambda zip 文件,它在我之前从网站下载 zip 时可以正常工作。感谢您制作此工具
    【解决方案2】:

    您可以通过headObject operation 获取视频的元数据。

    这是在不下载视频的实际内容的情况下完成的。

    编辑:你说得对,这对你没有帮助。 提取视频的实际技术元数据似乎并非易事。 AWS blog where they extract metadata via MediaInfo on lambda 上有一个很好的例子。

    【讨论】:

    • headObject 操作返回的数据不包含视频的帧率、分辨率等数据。它包含 contentLength、lastModified 等数据。
    • 你说得对。我已经编辑了我的答案,也许这会有所帮助!
    猜你喜欢
    • 2020-05-26
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2022-11-11
    相关资源
    最近更新 更多