0

私は完全に固執しています。 RubyのAWS-SDKを使用してビデオをトランスコードするプロセスを踏まなければなりません。私はどこから始めるべきかわからない。私はCarrierWave-Directを使ってs3バケットにファイルをアップロードしています。レコードはアップロードされ、正常に呼び出されます。サイドキックを使用してアップロードがバックグラウンドで実行されます。ここからどこに行くのですか?トランスコードの仕事はどのように始めることができますか?後で自分のデータベースにストリーミングするためのファイルの記録をどのように維持するのですか?アップロードしたSidekiqプロセスと一緒にトランスコードすることはできますか?私はこれのための解決策を見つけることを試みるために私の毛をリッピングしています。Ruby用AWS-SDKでのElastic Transcoderの使用方法

答えて

3

トランスコードアクションは、クラスAWS :: ElasticTranscoderの内部で定義されています。

s3へのアップロードが完了したら、トランスコードプロセスを開始できます。シンプルなトランスコーダが機能するために は、あなたが持っている必要があり

  1. トランスコーディングが行われるれているパイプライン。出力ビデオのプロパティ(あなたがプリセットを作成したり、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 
         } 
    }) 
    

    これにより、ジョブの作成に使用できるパイプラインIDが返されます。

    次のように今、あなたはジョブを作成することができます

    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メソッドを使用して確認できます。ステータスが 'Completed'から 'Progressing'になると、指定された出力バケットに出力ファイルが格納されます。

    これらのリンクを経由してください:

    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リンク

  • +0

    は、正確な構文は、次のことはできません参照してください。ドキュメントを参照してください:) –

    +0

    CarrierWaveとの関係で、どうすればいいですか?私は "s3にアップロード"コードの後、私のアップロードモデルフォルダにこのコードを入れますか? s3から動画を取得するために必要な新しいURLへの参照を設定するにはどうすればよいですか? –

    +0

    私は自分のマシンにいませんが、後ほど質問をいくつかのコードで更新します。 –

    関連する問題