AWS MediaConvert旋转宽高比已更改

时间:2019-05-30 16:11:33

标签: amazon-web-services aws-lambda aws-media-convert

我正在使用AWS中的VOD(video on demand)模板进行媒体转换。它创建一个Lambda函数,该函数又将Job推送到AWS MediaConvert中。最近,AWS增加了对Rotate属性的支持,该属性设置为AUTO时会从源文件中读取元数据,并在转换期间对视频进行适当的旋转。它正在旋转视频,但是在此过程中似乎缩小了视频。见下文。

video rotation example

您可以看到,与其旋转整个视频,不如将其旋转以适合宽高比容器。源文件是来自iPhone的.mov。

正在寻求有关如何使MediaConvert旋转完整视频而不是尝试旋转整个视频,然后缩小以适合原始源视频尺寸的帮助。

3 个答案:

答案 0 :(得分:1)

我不敢评论您的答案,但我发现修改代码以处理人像视频非常有用。令人惊讶的是,即使是主仓库中最新版本的代码也无法很好地处理人像视频,因此您的PR应该已经被接受。 我对您的代码进行了分叉,并进行了其他一些更改,其中包括:

  • lambda节点版本升级到12.x
  • 处理无声视频
  • 将视频的旋转meta标志传递给MediaConvert

所有视频格式对我来说都很好! Link to my forked github repo

答案 1 :(得分:0)

如果您的1920x1080视频的元数据为90度,并且您使用的作业指定的输出分辨率为1920x1080,那么这会导致视频首先旋转为1080x1920视频,然后将其旋转成柱框+缩放比例形成1920x1080的输出分辨率。就像这张图片一样,它看起来像是旋转的,装箱的,并且在垂直方向上有些收缩。

为了防止这种情况,最好不要指定输出的宽度和高度,以使其遵循旋转光源的尺寸。

答案 2 :(得分:0)

事实证明,@ Kumar Swaminathan的答案基本上是正确的。 AWS的“视频点播”模板不包含用于人像分辨率的MediaConvert模板,导致转换的步骤根本无法处理旋转。解决问题的正确方法似乎是:

  1. 更新媒体编码步骤以使用最新的AWS开发工具包(通过使用图层),并在创建转换(Rotate时将AUTO标记为"Rotate": "AUTO"传递给MediaConvert
  2. 添加MediaConvert配置文件以实现纵向分辨率
  3. 增强media-profiler步骤以查找rotate mediainfo属性,然后选择新的肖像配置文件之一进行编码

更新

我实现了对肖像视频的支持,并向AWS提交了PR。 https://github.com/awslabs/video-on-demand-on-aws/pull/29

相关问题