技术干货

oss视频转码----比阿里云文档更详细

2018-03-05  本文已影响1102人  RtyXmd

准备工作

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);
图1(pipelineid)
图2(transcodeTemplateId)
上一篇 下一篇

猜你喜欢

热点阅读