2

使用 Ruby SDK 1.22.1 版,我无法为 Elastic Transcoder 转码的视频的输出设置持续时间。根据文档,输出散列看起来需要一个组合数组/散列,其中包含一个带有持续时间的 time_span 散列。就我而言,我试图将其限制为 10 秒。

代码示例:

transcoder = AWS::ElasticTranscoder::Client.new(
      access_key_id: ENV['S3_ACCESS_KEY_ID'],
      secret_access_key: ENV['S3_SECRET_ACCESS_KEY'],
      region: ENV['AET_REGION']
    )

    transcoder.create_job(
      pipeline_id: ENV['AET_PIPELINE_ID'],
      input: {
        key: "#{video.s3_key}",
        frame_rate: 'auto',
        resolution: 'auto',
        aspect_ratio: 'auto',
        interlaced: 'auto',
        container: 'auto'
      },
      output: {
        key: "#{video.s3_key}/web.mp4",
        preset_id: '1351620000001-100070', # System preset: Web
        composition: [
          {
            time_span: {
              duration: '00:00:10.000'
            }
          }
        ]
      }
    )

这是我得到的错误:

unexpected option :composition

这是转码器上 Ruby SDK 文档的链接:http: //docs.aws.amazon.com/AWSRubySDK/latest/AWS/ElasticTranscoder/Client.html#create_job-instance_method

以下是一般 AWS Elastic Transcoder 文档: http ://docs.aws.amazon.com/elastictranscoder/latest/developerguide/create-job.html

我希望这是一个语法错误,而不是仅仅被排除在 SDK 之外。

编辑:更新代码以包括 Loren 的初始化和合成片段。

4

1 回答 1

2

提交历史来看,它似乎:composition只在 SDK 的 v1.25.0 中添加。网站上发布的文档仅反映了 SDK 的最新版本。如果您更新到最新版本,您应该可以使用此参数。但是请注意,它被记录为一个哈希数组,因此您必须将您的组合结构包装在一个哈希数组中:

composition: [{time_span: {duration: '...'}}]

于 2013-12-12T19:26:36.673 回答