准备工作
0.视频上传oss请参考之前的文章Web直传阿里云Oss
1.php版本要求5.3+及以上版本
2.开通阿里云mts服务,并创建了AccessKeyId和AccessKeySecret
3.从github下载 php sdk源码
4.拷贝aliyun-php-sdk-core文件夹和aliyun-php-sdk-mts的文件夹到项目中
提交转码作业
#阿里云oss设置的地区 如:oss-cn-shanghai
$region = '<region>';
#阿里云accessKeyId
$accessKeyId = '<accessKeyId>';
#阿里云accessKeySecret
$accessKeySecret = '<accessKeySecret>';
#管道id 具体获取方式见下 图1(pipelineid)
$pipelineId = '<pipelineId>';
#oss-cn-hangzhou、oss-cn-shanghai、oss-us-west-1等;与region对应
$ossLocation='<ossLocation>';
#从oss输入的文件
$inputObject='<inputObject>';
#oss的bucket入口
$inputBucket='<inputBucket>';
#转码后输出文件
$outputObject='<outputObject>';
#转码后输出bucket
$outputBucket='<outputBucket>';
#定义转码模板id 具体获取方式见下 图2(transcodeTemplateId)
$transcodeTemplateId='<transcodeTemplateId>';
$profile = DefaultProfile::getProfile($region, $accessKeyId,$accessKeySecret);
#实例化client
$client = new DefaultAcsClient($profile);
$inputFile = array(
'Location' => $ossLocation,
'Bucket' => $inputBucket,
'Object' => urlencode($inputObject));
$outputs = array();
$outputs[] = array(
'OutputObject'=> urlencode($outputObject),
'TemplateId' => $transcodeTemplateId,
);
$request = new Mts\SubmitJobsRequest();
$request->setAcceptFormat('JSON');
$request->setInput(json_encode($inputFile));
$request->setOutputBucket($outputBucket);
$request->setOutputLocation($ossLocation);
$request->setOUtputs(json_encode($outputs));
$request->setPipelineId($pipelineId);
$response = $client->getAcsResponse($request);