使用Ruby SDK的版本1.22.1我無法設置Elastic Transcoder轉碼的視頻輸出的持續時間。根據文檔,它看起來像輸出哈希需要一個合成數組/散列,其中包含一個帶有持續時間的time_span散列。在我的情況下,我試圖將其限制爲10秒。無法使用Elastic Transcoder Ruby SDK設置輸出持續時間
代碼示例:
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的初始化和組合片段。
感謝您看這個。不幸的是,即使是1.29.0(和1.25.0),我也遇到了同樣的錯誤,即構圖是一個意想不到的選擇。 –
你確定你使用的是1.29.0嗎?我在今天之前嘗試過,確保它對我有用。這可能是Bundler版本鎖定問題嗎?什麼是「AWS :: VERSION」? –
1.29.1。我重新啓動了Passenger和Apache,似乎無法通過這個錯誤。我更新了原始文章中的代碼以包含初始化以查看是否有任何內容。 –