2

AWSには、ElasticTranscoderと呼ばれる新しいサービスがあります。私はいくつかのPHPを知っていますが、私はこれを噛むことができる以上に噛み砕きました...

変数を受け取り、JSONリクエスト(もちろん適切にフォーマットされたもの)を作成し、AWSでジョブを作成する単純なPHP関数をどのように作成しますか?AWSが提供する構文は次のとおりです。

注:必要なすべてのフィールドを入力できるフォームがすでに作成されています。

To create a job, send a POST request to the

/2012-09-25/jobs

resource.

構文は次のとおりです。

POST /2012-09-25/jobs HTTP/1.1
Content-Type: application/json; charset=UTF-8
Accept: */*
Host: elastictranscoder.Elastic Transcoder endpoint.amazonaws.com:443
x-amz-date: Mon, 14 Jan 2013 17:49:52 GMT
Authorization: AWS4-HMAC-SHA256 
           Credential=AccessKeyID/request-date/Elastic Transcoder endpoint/ets/aws4_request,
           SignedHeaders=host;x-amz-date;x-amz-target,
           Signature=calculated-signature
Content-Length: number of characters in the JSON string
{
"Input":{
  "Key":"name of the file to transcode",
  "FrameRate":"auto"|"10"|"15"|"23.97"|"24"|"25"|"29.97"|"30"|"60",
  "Resolution":"auto"|"width in pixelsxheight in pixels",
  "AspectRatio":"auto"|"1:1"|"4:3"|"3:2"|"16:9",
  "Interlaced":"auto"|"true"|"false",
  "Container":"auto"|"3gp"|"asf"|"avi"|"divx"|"flv"|"mkv"|"mov"|"mp4"|
     "mpeg"|"mpeg-ps"|"mpeg-ts"|"mxf"|"ogg"|"vob"|"wav"|"webm"
},
"Output":{
  "Key":"name of the transcoded file",
  "ThumbnailPattern":""|"pattern",
  "Rotate":"auto"|"0"|"90"|"180"|"270",
  "PresetId":"preset to use for the job"
},
"PipelineId":"pipeline to add the job to"
}

提供する必要がある上記のコードの部分は、構文のこの元の投稿でイタリック体で示されています。

http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/create-job.html#create-job-examples

4

2 に答える 2

2

AWS SDK for PHPには、Amazon Elastic Transcoder のサポートが含まれています。それを使いたくない理由はありますか? PHP SDK ドキュメントへのリンクは次のとおりです

于 2013-03-18T23:56:23.017 に答える
1

特に頭がいっぱいになっている場合は、ライブラリを使用することをお勧めします。

SDK をインストールしたくない場合、またはより大きなパッケージのオーバーヘッドを避けたい場合は、Elastic Transcoder を操作するためのスタンドアロン PHP クラスを次に示します。

https://github.com/LPology/ElasticTranscoderPHP

新しいトランスコード ジョブを作成するには (デフォルト設定で):

$pipelineId = 'pipelineId';
$input = array('Key' => 'inputFile');
$output = array(
  'Key' => 'outputFile.mp4',
  'PresetId' => 'presetId'
);

AWS_ET::setAuth($awsAccessKey, $awsSecretKey);
$result = AWS_ET::createJob($input, array($output), $pipelineId);
于 2013-07-11T03:30:44.743 に答える