减少来自 AWS Elastic Transcoder 的输出 GIF 的大小和帧率

Reduce size and framerate of output GIFs from AWS Elastic Transcoder

我有一个 Lambda 函数设置,可以成功创建弹性转码作业以将 m4v 转码为 GIF。但是,我需要通过减少内容的大小和使用更少的帧来减少输出 GIF 的文件大小。

我已阅读此处的文档: http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/preset-settings.html http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/create-job.html

但我找不到任何适用于 GIF 的设置,这些设置可以缩小内容或允许我更改帧速率。

我尝试使用 WidthHeightResolution,但它们都给我错误提示:UnexpectedParameter: Unexpected key

如何更改输出的大小和帧率?

运行成功的代码如下:

var params = {
  Input: { 
    Key: key
  },
  PipelineId: 'xxxx',
  Outputs: [
    {
      Key: outputKey(basename(key),'gif'),
      PresetId: '1351620000001-100200', // GIF (Animated)
      Composition: [
          {
              TimeSpan: {
                  Duration: '00:00:03.000'
              }
          }
      ]
    }
  ]
};

要更改这些设置,您需要创建一个新的预设

  1. 访问https://console.aws.amazon.com/elastictranscoder/home#presets
  2. 找到 GIF (Animated) 预设,select 并单击 'Copy'
  3. 在新自定义预设的视频部分指定宽度/高度/比特率/帧率
  4. 更新输出中的 PresetId 值以匹配新预设的 ID