七牛云上传带水印的视频
展开阅读全文

php代码

 public function base64_urlSafeEncode($data) {
        $find = array('+', '/');
        $replace = array('-', '_');
        return str_replace($find, $replace, base64_encode($data));
 }
 public function index() {
        require_once 'qny/autoload.php';
        $accessKey = "***";
        $secretKey = "***";
        $bucket = 'lmcjl';
        $wmImg = $this->base64_urlSafeEncode('图片地址');
        $auth = new \Qiniu\Auth($accessKey, $secretKey);
        $name = $this->base64_urlSafeEncode('文字水印');
        $key = date("YmdHis") . rand(100000, 999999);
        $video_name = $this->base64_urlSafeEncode($bucket . ':new_' . $key);
        $pfop = "avthumb/mp4/wmImage/" . $wmImg . "/wmText/" . $name . "/wmFontColor/cmVk/wmFontSize/30/wmGravityText/North|saveas/" . $video_name;
        $opts = array(
            // 回调地址
            'returnUrl' => 'https://www.lmcjl.com/qnycallback',
            'persistentOps' => $pfop,
        );
        $token = $auth->uploadToken($bucket, null, 3600, $opts);
        $this->assign('token', $token);
        $this->assign('key', $key);
        return $this->fetch();
        return $this->render('video_add', ['token' => $token, 'key' => $key]);
    }

    public function callback() {
        $upload_ret = input('upload_ret');
        $json_ret = base64_decode($upload_ret);
        $result = json_decode($json_ret);
        // 返回原视屏名称
        $video_url = $result->key;
        // 前面加上new_得到加过水印的视频
        $video_url = 'new_' . $result->key;

        // 地址
        $http = "http://qlks2g08l.hn-bkt.clouddn.com/";
        // 第一帧
        $img = '?vframe/jpg/offset/1';
        $video = $http . 'new_' . $video_url;

        file_put_contents('1.txt', $video);
        exit;
        $model = new Video();
        $model->video_img = $http . 'new_' . $video_url . $img;
        $model->title = 'super good';
        $model->video_url = $http . 'new_' . $video_url;
        $model->video_length = $model->getVideotime($http . $video_url);
        $model->save();

        header("Location:/video/list");
    }

html

<form method="post" action="https://up-z2.qiniup.com" enctype="multipart/form-data">
    <input name="key" type="hidden" value="<?php echo $key;?>">
    <input name="token" type="hidden" value="<?php echo $token ?>">
    <input name="file" type="file" />
    <input name="accept" type="hidden" />
    <input type="submit" value="上传"/>
</form>