AWS上有一项名为Elastic Transcoder的新服务。我知道一些PHP,但是我咬过的东西比我能咬这个... ...
我如何创建一个简单的PHP函数,它将获取我的变量并创建一个JSON请求(当然格式正确)并在AWS上创建一个作业。以下是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"
}
上述代码中需要提供的部分在原始语法发布中以斜体显示:
答案 0 :(得分:2)
AWS SDK for PHP包括对Amazon Elastic Transcoder的支持。有没有理由你不想使用它? Here是PHP SDK文档的链接。
答案 1 :(得分:1)
我建议使用图书馆,特别是如果你感觉过头了。
如果您不想安装SDK或者希望避免更大包的开销,那么这是一个独立的PHP类,用于处理Elastic Transcoder:
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);