AWS MediaConvert 旋转纵横比已更改
AWS MediaConvert Rotate Aspect Ratio Changed
我在 AWS 中使用 VOD (video on demand) 模板进行媒体转换。它创建一个 Lambda 函数,然后将作业推送到 AWS MediaConvert。最近,AWS 添加了对 Rotate
属性 的支持,当设置为 AUTO
时,它会从源文件中读取元数据,并在转换过程中对视频应用适当的旋转。它正在旋转视频,但是,它似乎在此过程中缩小了视频。见下文。
您可以看到,它没有旋转整个视频,而是旋转视频以适应宽高比容器。源文件是来自 iPhone.
的 .mov
寻求有关如何让 MediaConvert 旋转整个视频而不是尝试旋转它,然后缩小以适合原始源视频尺寸的帮助。
如果您有一个元数据为 90 度的 1920x1080 视频,并且您正在使用指定输出分辨率为 1920x1080 的作业,那么这会导致视频首先旋转为 1080x1920 视频,然后 pillar-boxed + 缩放以形成 1920x1080 的输出分辨率。这看起来会旋转,pillar-boxed,并且在垂直维度上有些缩小 - 就像这张照片一样。
为了防止这种情况,最好不指定输出的宽度和高度,以便它遵循旋转源的尺寸。
事实证明,@Kumar Swaminathan 的回答大部分是正确的。来自 AWS 的视频点播模板不包括用于纵向分辨率的 MediaConvert 模板,并且导致转换的步骤根本不处理旋转。解决问题的正确方法似乎是:
- 更新 media-encode 步骤以使用最新的 AWS SDK(通过使用层),并在创建转换时将
Rotate
标志作为 AUTO
传递给 MediaConvert ("Rotate": "AUTO"
)
- 为纵向分辨率添加 MediaConvert 配置文件
- 增强 media-profiler 步骤以查找
rotate
媒体信息 属性,并选择一种新的肖像配置文件进行编码
更新
我实现了对纵向视频的支持并向 AWS 提交了 PR。 https://github.com/awslabs/video-on-demand-on-aws/pull/29
我没有资格对您的回答发表评论,但我发现您为处理肖像视频而修改的代码非常有用。令人惊讶的是,即使是他们在主仓库中的最新版本的代码也不能很好地处理肖像视频,你的 PR 应该已经被接受了。
我分叉了您的代码并做了一些更改,其中包括:
- lambda 节点版本升级到12.x
- 处理无声视频
- 将视频的旋转元标志传递给 MediaConvert
所有视频格式都适合我! Link to my forked github repo
我在 AWS 中使用 VOD (video on demand) 模板进行媒体转换。它创建一个 Lambda 函数,然后将作业推送到 AWS MediaConvert。最近,AWS 添加了对 Rotate
属性 的支持,当设置为 AUTO
时,它会从源文件中读取元数据,并在转换过程中对视频应用适当的旋转。它正在旋转视频,但是,它似乎在此过程中缩小了视频。见下文。
您可以看到,它没有旋转整个视频,而是旋转视频以适应宽高比容器。源文件是来自 iPhone.
的 .mov寻求有关如何让 MediaConvert 旋转整个视频而不是尝试旋转它,然后缩小以适合原始源视频尺寸的帮助。
如果您有一个元数据为 90 度的 1920x1080 视频,并且您正在使用指定输出分辨率为 1920x1080 的作业,那么这会导致视频首先旋转为 1080x1920 视频,然后 pillar-boxed + 缩放以形成 1920x1080 的输出分辨率。这看起来会旋转,pillar-boxed,并且在垂直维度上有些缩小 - 就像这张照片一样。
为了防止这种情况,最好不指定输出的宽度和高度,以便它遵循旋转源的尺寸。
事实证明,@Kumar Swaminathan 的回答大部分是正确的。来自 AWS 的视频点播模板不包括用于纵向分辨率的 MediaConvert 模板,并且导致转换的步骤根本不处理旋转。解决问题的正确方法似乎是:
- 更新 media-encode 步骤以使用最新的 AWS SDK(通过使用层),并在创建转换时将
Rotate
标志作为AUTO
传递给 MediaConvert ("Rotate": "AUTO"
) - 为纵向分辨率添加 MediaConvert 配置文件
- 增强 media-profiler 步骤以查找
rotate
媒体信息 属性,并选择一种新的肖像配置文件进行编码
更新
我实现了对纵向视频的支持并向 AWS 提交了 PR。 https://github.com/awslabs/video-on-demand-on-aws/pull/29
我没有资格对您的回答发表评论,但我发现您为处理肖像视频而修改的代码非常有用。令人惊讶的是,即使是他们在主仓库中的最新版本的代码也不能很好地处理肖像视频,你的 PR 应该已经被接受了。 我分叉了您的代码并做了一些更改,其中包括:
- lambda 节点版本升级到12.x
- 处理无声视频
- 将视频的旋转元标志传递给 MediaConvert
所有视频格式都适合我! Link to my forked github repo