美文网首页技术干货
oss视频转码----比阿里云文档更详细

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

作者: RtyXmd | 来源:发表于2018-03-05 19:20 被阅读1102次

准备工作

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)

相关文章

网友评论

  • 就没一个昵称能用:看有的文档说在转码的时候有个坑,就是在提交转码时如果你上次的视频有中文名,转码那边是识别不了的,按阿里的要求转码了就会报接口MD5检测失败,这个问题怎么处理的

本文标题:oss视频转码----比阿里云文档更详细

本文链接:https://www.haomeiwen.com/subject/avrgxftx.html