2

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

视频旋转示例

您可以看到,它不是旋转整个视频,而是旋转它以适应宽纵横比的容器。源文件是来自 iPhone 的 .mov。

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

4

3 回答 3

1

如果您有一个元数据为 90 度的 1920x1080 视频,并且您正在使用指定输出分辨率为 1920x1080 的作业,那么这会导致视频首先旋转为 1080x1920 视频,然后将其加框 + 缩放以形成输出分辨率为 1920x1080。这看起来是旋转的,柱状的,并且在垂直维度上有些缩小 - 就像这张照片一样。

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

于 2019-06-01T03:59:31.240 回答
1

事实证明,@Kumar Swaminathan 的回答大部分是正确的。AWS 的视频点播模板不包括用于纵向分辨率的 MediaConvert 模板,并且导致转换的步骤根本不处理旋转。解决问题的正确方法似乎是:

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

更新

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

于 2019-06-03T19:55:49.083 回答
1

我没有对您的回答发表评论的声誉,但我发现您对处理肖像视频的代码修改非常有用。令人惊讶的是,即使是他们在主仓库中的最新版本的代码也不能很好地处理肖像视频,你的 PR 应该已经被接受了。我分叉了您的代码并进行了一些更改,其中包括:

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

对我来说适用于所有视频格式!链接到我的分叉 github 存储库

于 2020-10-24T11:14:10.803 回答