gpt4 book ai didi

javascript - 使用 Amazon Elastic Transcoder 获取视频文件的视频分辨率

转载 作者:行者123 更新时间:2023-11-29 15:43:24 27 4
gpt4 key购买 nike

我们有这个配置工作:

1- Display a JS Upload Form to the visitor
2- Upload file chosen direclty to Amazon S3
3- Transcode the Video in MP4 using Amazon Elastic Transcoder with options:
* resolution: auto
* thumbnails: on, every 2sec

一切正常。但是,出于两个原因,我需要获得原始视频分辨率/比率。第一个原因是能够为缩略图生成设置一个好的比例。 (有时是 16/9、4/3、iphone 视频...)第二个原因是要以完美的比例显示 HTML5 视频播放器,以避免播放器两侧出现空白。

由于 Amazon Elastic Transcoder 已经在自动检测视频分辨率,我想他们可能有办法返回检测到的分辨率,但是......它似乎不是!

谁能想出一种方法来获取视频的分辨率/比例?我目前的解决方案是从服务器上的 S3 下载视频,并使用 FFmpegFFprobe 检测分辨率。显然,这并不理想。

最佳答案

我有一个可能适合您的方法,但我只想提一下,无法直接访问有关上传视频的元数据会直接限制弹性转码器服务的实用性,我强烈建议您使用像 encoding.com 这样的替代方案(具有讽刺意味的是,他们自己的服务器是 hosted on AWS )。


所以我的解决方案是您可以使用预设来编码 creates thumbnail files that match the aspect ratio of the original uploaded video 的作业通过将其设置为“自动”:

The aspect ratio of thumbnails. If you want Elastic Transcoder to automatically detect the aspect ratio in the input file and use that value for thumbnails, select auto. If you want to specify the aspect ratio for thumbnails, select the applicable value.

此时,您现在有两种方法可以实际访问原始视频的纵横比(都涉及 JavaScript):

1.编写 JS 下载第一个缩略图文件,并显式解析图像尺寸并通过将宽度除以高度来计算纵横比。

2。指定一个 ThumbnailPattern when you create the original job这将通过使用“{resolution}”占位符生成包含图像文件分辨率的缩略图文件名:

Thumbnail Filename Pattern

{resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the field.

那么你就可以了,所以你只需要获取编码视频的第一个图像缩略图,然后使用 JS 解析文件名以获取分辨率并计算纵横比。

这两种方法都有点 hacky,但受益于不需要进行任何额外的视频处理,并且在未来当/如果 AWS 允许您访问元数据时,您应该有一个非常简单的升级路径来消除这种困惑。

根据 AWS 开发人员在亚马逊论坛上的回复,访问视频元数据可能会在不久的将来可用,所以我想您还有第三种选择等待,这个问题可能会自行解决。

关于javascript - 使用 Amazon Elastic Transcoder 获取视频文件的视频分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15514074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com