使用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的初始化和合成片段。
答案 0 :(得分:2)
从commit history开始,:composition
似乎只在SDK的v1.25.0中添加了
composition: [{time_span: {duration: '...'}}]
。网站上发布的文档仅反映了SDK的最新版本。如果您更新到最新版本,则应该能够使用此参数。但请注意,它被记录为哈希的数组,因此您必须将组合结构包装在哈希数组中:
{{1}}