- 建立AcsClient執行個體。
$clientProfile = DefaultProfile::getProfile( $mps_region_id, # 您的 Region ID $access_key_id, # 您的 AccessKey ID $access_key_secret # 您的 AccessKey Secret ); $client = new DefaultAcsClient($clientProfile);
- 建立request,並設定參數。
$request = new Mts\SubmitJobsRequest(); $request->setAcceptFormat('JSON');
- 轉碼參數。
- Input
$input = array('Location' => $oss_location, 'Bucket' => $oss_bucket, 'Object' => urlencode($oss_input_object)); $request->setInput(json_encode($input));
- Output
$output = array('OutputObject' => urlencode($oss_output_object));
- Container
$output['Container'] = array('Format' => 'mp4');
- Video
$output['Video'] = array('Codec' =>'H.264', 'Bitrate' => 1500, 'Width' => 1280, 'Fps' => 25);
- Audio
$output['Audio'] = array('Codec' => 'AAC', 'Bitrate' => 128, 'Channels' => 2, 'Samplerate' => 44100);
- TemplateId
$output['TemplateId'] = $template_id;
- Container
- PipelineId
$request->setPipelineId($pipeline_id);
- Input
- 發起API請求並顯示傳回值。
$response = $client->getAcsResponse($request); print 'RequestId is:' . $response->{'RequestId'} . "\n";; if ($response->{'JobResultList'}->{'JobResult'}[0]->{'Success'}) { print 'JobId is:' . $response->{'JobResultList'}->{'JobResult'}[0]->{'Job'}->{'JobId'} . "\n"; } else { print 'SubmitJobs Failed code:' . $response->{'JobResultList'}->{'JobResult'}[0]->{'Code'} . ' message:' . $response->{'JobResultList'}->{'JobResult'}[0]->{'Message'} . "\n"; }
完整代碼
<?php
include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-core/Config.php';
use Mts\Request\V20140618 as Mts;
$access_key_id = 'xxx';
$access_key_secret = 'xxx';
$mps_region_id = 'cn-hangzhou';
$pipeline_id = 'xxx';
$template_id = 'S00000001-200010';
$oss_location = 'oss-cn-hangzhou';
$oss_bucket = 'xxx';
$oss_input_object = 'input.mp4';
$oss_output_object = 'output.mp4';
# 建立DefaultAcsClient執行個體並初始化
$clientProfile = DefaultProfile::getProfile(
$mps_region_id, # 您的 Region ID
$access_key_id, # 您的 AccessKey ID
$access_key_secret # 您的 AccessKey Secret
);
$client = new DefaultAcsClient($clientProfile);
# 建立API請求並設定參數
$request = new Mts\SubmitJobsRequest();
$request->setAcceptFormat('JSON');
# Input
$input = array('Location' => $oss_location,
'Bucket' => $oss_bucket,
'Object' => urlencode($oss_input_object));
$request->setInput(json_encode($input));
# Output
$output = array('OutputObject' => urlencode($oss_output_object));
# Ouput->Container
$output['Container'] = array('Format' => 'mp4');
# Ouput->Video
$output['Video'] = array('Codec' =>'H.264',
'Bitrate' => 1500,
'Width' => 1280,
'Fps' => 25);
# Ouput->Audio
$output['Audio'] = array('Codec' => 'AAC',
'Bitrate' => 128,
'Channels' => 2,
'Samplerate' => 44100);
# Ouput->TemplateId
$output['TemplateId'] = $template_id;
$outputs = array($output);
$request->setOUtputs(json_encode($outputs));
$request->setOutputBucket($oss_bucket);
$request->setOutputLocation($oss_location);
# PipelineId
$request->setPipelineId($pipeline_id);
# 發起請求並處理返回
try {
$response = $client->getAcsResponse($request);
print 'RequestId is:' . $response->{'RequestId'} . "\n";;
if ($response->{'JobResultList'}->{'JobResult'}[0]->{'Success'}) {
print 'JobId is:' .
$response->{'JobResultList'}->{'JobResult'}[0]->{'Job'}->{'JobId'} . "\n";
} else {
print 'SubmitJobs Failed code:' .
$response->{'JobResultList'}->{'JobResult'}[0]->{'Code'} .
' message:' .
$response->{'JobResultList'}->{'JobResult'}[0]->{'Message'} . "\n";
}
} catch(ServerException $e) {
print 'Error: ' . $e->getErrorCode() . ' Message: ' . $e->getMessage() . "\n";
} catch(ClientException $e) {
print 'Error: ' . $e->getErrorCode() . ' Message: ' . $e->getMessage() . "\n";
}