使用 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 的初始化和合成片段。