我完全被卡住了。我需要通過使用AWS-SDK for Ruby對視頻進行轉碼的流程。我不確定哪裏開始。我使用CarrierWave-Direct將文件上傳到s3存儲桶。記錄上傳和回收很好。上傳使用Sidekiq在後臺完成。我從哪裏出發?我如何開始轉碼作業?如何維護文件的記錄以便在數據庫中進行後續流式傳輸?我可以隨我的上傳Sidekiq流程一起轉碼嗎?我正在試圖找到解決方案。如何使用適用於Ruby的AWS-SDK的Elastic Transcoder
0
A
回答
3
轉碼操作在類AWS :: ElasticTranscoder中定義。
轉碼過程可以在您上傳到s3完成後啓動。 對於一個簡單的轉碼工作,你需要有
- 一個管道在將代碼轉換將被執行。
- 預設其確定輸出視頻屬性(您可以創建預設或使用由AWS提供的系統預設)
立即發起AWS :: ElasticTranscoder :: Client類
transcoder = AWS::ElasticTranscoder::Client.new(:access_key_id => AwsKeyId,:secret_access_key => AwsAccessKey,:region=>TranscoderRegion)
建立流水線:
transcoder.create_pipeline(options = {
:name => 「test_pipeline」,
:input_bucket => 「bucket_name」 ,
:output_bucket => 「bucket_name」,
:role => Elastic-Transcoder-Default-Role,
:content_config => {
:bucket => 「bucket_name」,
:storage_class => Standard
}
:thumbnail_config => {
:bucket => 「bucket_name」,
:storage_class => Standard
}
})
這將返回可用於創建作業的pipelineId。現在
可以按如下方式創建一個作業:
transcoder_obj.create_job({
:pipeline_id=>PipelineId,
:input=> {
:key=>"video_path",
:frame_rate=> "auto",
:resolution => "auto",
:aspect_ratio => "auto",
:container => 'auto'
},
:outputs=>[{
:key=>"output_file_location",
:preset_id=>1351620000001-000010,
:thumbnail_pattern=>"thumbnails/thumb_{count}"
}]
})
這將開始轉碼過程。您可以使用read_job方法檢查作業的狀態。一旦狀態變爲'已完成'從'進展',輸出文件將在指定的輸出存儲區中。
請通過以下鏈接:
http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/ElasticTranscoder/Client.html http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/system-presets.html
AWS :: SNS提供的收到通知有關轉碼工作狀態更好的方法。您可以訂閱sns主題獲取工作狀態。已完成作業的響應將包含有關輸出文件的必要詳細信息,以便您可以將其存儲在數據庫中供將來流式傳輸。
有關詳情,請參閱this鏈路
相關問題
- 1. 無法使用Elastic Transcoder Ruby SDK設置輸出持續時間
- 2. AWS CloudFormation和Elastic Transcoder
- 3. Amazon Elastic Transcoder - 如何使用名稱獲取預設
- 4. 如何設置公共,Elastic Transcoder Amazon SDK
- 5. 你如何連接到AWS Elastic Transcoder?
- 6. AWS Elastic Transcoder:旋轉視頻
- 7. 瞭解Elastic Transcoder的boto文檔
- 8. 對Apache Elastic Transcoder的Apache Camel支持
- 9. 如何在裝滿視頻的存儲桶上使用AWS Elastic Transcoder?
- 10. 我可以使用Amazon Elastic Transcoder僅創建縮略圖嗎?
- 11. 無法使用Amazon Elastic Transcoder創建預設
- 12. AWS Elastic Transcoder:管道未找到
- 13. AWS Elastic Transcoder Endpoint無法解析
- 14. 適用於Ruby的XMPP庫
- 15. ColdFusion 10不適用於Amazon Elastic Beanstalk
- 16. 如何解密AWS Elastic Transcoder HLS AES加密視頻播放.m3u8?
- 17. 如何從Amazon Elastic Transcoder獲取視頻持續時間?
- 18. 如何知道Amazon Elastic Transcoder是否已完成轉碼
- 19. 我應該使用哪個適用於Ruby的CouchDB適配器?
- 20. Amazon Elastic Transcoder完成作業時使用唯一ID進行Webservice調用
- 21. 適用於商業應用的PostgreSQL/Ruby
- 22. AWS S3適用於Elastic Beanstalk的憑證應用程序
- 23. Elastic Transcoder從GIF轉碼的視頻上的文物
- 24. 適用於基於ruby的服務器的自適應圖像
- 25. SELECT不適用於Ruby-mysql
- 26. Amazon Elastic Transcoder可以使用Microsoft Smooth Streaming格式進行編碼嗎?
- 27. 使用AWS Elastic Transcoder和S3流式傳輸HLSv4而不公開所有內容?
- 28. 使用適用於python的AWS開發工具包訪問AWS Elastic Load Balancer
- 29. 適用於Mac的Ruby編譯器?
- 30. 適用於Google Voice的Ruby API
提供樣品的代碼可能不被以下的精確語法。請參考文檔:) –
關於CarrierWave,我該如何做到這一點?在「上傳到s3」代碼後,我會將此代碼放入我的上傳模型文件夾中,不是嗎?我將如何設置對從s3檢索視頻所需的新url的引用? –
我現在不在我的機器上,但稍後我會用一些代碼更新我的問題。 –