七牛云上传带水印的视频
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>