我正在开发一款需要上传视频的应用程序。我添加了神社和S3存储。亚马逊弹性转码与神龛
直到这里一切正常。现在我需要转码的视频和我下面的代码添加到VIDEO_UPLOADER文件
class VideoUploader < Shrine
plugin :processing
plugin :versions
process(:store) do |io|
transcoder = Aws::ElasticTranscoder::Client.new(
access_key_id: ENV['AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
region: 'us-east-1',
)
pipeline = transcoder.create_pipeline(options = {
:name => "name",
:input_bucket => "bucket",
:output_bucket => "bucket",
:role => "arn:aws:iam::XXXXX:role/Elastic_Transcoder_Default_Role",
})
PIPELINE_ID = pipeline[:pipeline][:id]
transcode_hd = transcoder.create_job({
:pipeline_id=>PIPELINE_ID,
:input=> {
:key=> "cache/"+io.id,
:frame_rate=> "auto",
:resolution => "auto",
:aspect_ratio => "auto",
:container => 'auto'
},
:outputs=>[{
:key=>"store/"+io.id,
:preset_id=>"1351620000001-000010",
}]
})
end
end
转码工作,基本上是转码上传到缓存文件夹,并把在存储文件夹具有相同名称的新文件。
现在的问题是将此文件附加到数据库中的记录。截至目前,记录更新的名称不同,它会在0mb的商店文件夹中创建一个新文件。
如何将处理结果附加到Shrine的上传文件中进行存储?