| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 | <?phpnamespace app\api\controller;use app\common\controller\Api;include_once '../vendor/aliyun/aliyun-php-sdk-core/Config.php';use Mts\Request\V20140618 as Mts;/** * 示例接口 */class Mps extends Api{    //如果$noNeedLogin为空表示所有接口都需要登录才能请求    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求    //如果接口已经设置无需登录,那也就无需鉴权了    //    // 无需登录的接口,*表示全部    protected $noNeedLogin = ['mpsvideo'];    // 无需鉴权的接口,*表示全部    protected $noNeedRight = [''];    //阿里云媒体处理视频    public function mpsvideo()    {//        $i = strpos('https://eyefate.oss-cn-hangzhou.aliyuncs.com/uploads/xuanzhuan.mp4','uploads');//        var_dump($i);//        $oss_input_object = substr('https://eyefate.oss-cn-hangzhou.aliyuncs.com/uploads/xuanzhuan.mp4', strpos('https://eyefate.oss-cn-hangzhou.aliyuncs.com/uploads/xuanzhuan.mp4', 'uploads'));//        var_dump($oss_input_object);//        $oss_output_object = str_replace('uploads', 'output', $oss_input_object);//        var_dump($oss_output_object);//        die;        $access_key_id = 'LTAI5tRun9ZQVSgeg9mbjzjh'; //AccessKey ID        $access_key_secret = 'nIkOAGe5Xttrjn7B5s0flk4z8zCdw8'; //AccessKey Secret        $mps_region_id = 'cn-hangzhou';        $pipeline_id = '0c4f9b648be54da09e29d8819f60a0df'; //管道id        $watermark_template_id = '0c09ed4ef64e424b89a3449bcc0de522'; //水印模板id        $template_id = '4c43c0ff9436425dbb6eaf2ce74e0ff0';//'S00000001-200030'; //转码模板id        $oss_location = 'oss-cn-hangzhou';        $oss_bucket = 'eyefate'; //bucket        $oss_input_object = 'uploads/2022330/ZWIFbwAxNmdF.mp4'; //输入文件        $oss_output_object = 'output/2022330/ZWIFbwAxNmdF.mp4'; //输出文件        $image_watermark_object = 'logo.png'; //水印logo地址//        $video_watermark_object = 'logo.mov';# DefaultAcsClient        $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));# Ouput->TemplateId        $output['TemplateId'] = $template_id;## Image Watermark        $image_watermark_input = array(            'Location' => $oss_location,            'Bucket' => $oss_bucket,            'Object' => urlencode($image_watermark_object)        );        $image_watermark = array(            'WaterMarkTemplateId' => $watermark_template_id,            'Type' => 'Image',            'InputFile' => $image_watermark_input,//            'ReferPos' => 'TopRight',//            'Width' => 0.05,            'Dx' => 100,            'Dy'=> 50        );## Text Watermark       /* $text_config = array(            'Content' => '5rWL6K+V5paH5a2X5rC05Y2w',            'FontName' => 'SimSun',            'FontSize' => 16,            'FontColor' => 'Red',            'FontAlpha' => 0.5,            'Top' => 10,            'Left' => 10        );        $text_watermark = array(            'WaterMarkTemplateId' => $watermark_template_id,            'Type' => 'Text',            'TextWaterMark' => $text_config        );*/## Video Watermark        /*$video_watermark_input = array (            'Location' => $oss_location,            'Bucket' => $oss_bucket,            'Object' => urlencode($video_watermark_object)        );        $video_watermark = array(            'WaterMarkTemplateId' => $watermark_template_id,            'Type' => 'Image',            'InputFile'=> $video_watermark_input,            'ReferPos' => 'BottomLeft',            'Height' => 240,            'Dx' => 0,            'Dy' => 0        );*/# Output->Watermarks//        $watermarks = array($image_watermark, $text_watermark, $video_watermark);        $watermarks = array($image_watermark);        $output['WaterMarks'] = $watermarks;# Outputs        $outputs = array($output);        $request->setOUtputs(json_encode($outputs));        $request->setOutputBucket($oss_bucket);        $request->setOutputLocation($oss_location);# PipelineId        $request->setPipelineId($pipeline_id);# call api        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";        }    }}
 |