七牛云上传文件、视频截图、合成gif图

include ROOT_PATH.'/addons/ucloud/vendor/qiuniu/autoload.php';
use Qiniu\Auth;  //使用auth类
use Qiniu\Storage\UploadManager;
use Qiniu\Processing\Operation;
use Qiniu\Processing\PersistentFop;
use Qcloud\Cos\Client;
use TencentCloud\Mps\V2/*** 七牛云上传方式* @param $config* @param $url* @return mixed*/public static function qiuniuUp($config,$url){$auth = new Auth($config['qiniuPK'], $config['qiniuSK']);  //实例化$bucket=$config['qiniuBucket'];//存储空间$token = $auth->uploadToken($bucket);$uploadMgr = new UploadManager();$filePath = $url;//'./php-logo.png';  //接收图片信息$type = pathinfo($filePath,PATHINFO_EXTENSION);if(in_array($type,['mp4','mp3','avi','flv','wmv'])){$key = date("Y/m/d").time().'.'.$type;}elseif(in_array($type,['gif', 'jpg', 'jpeg', 'bmp', 'png', 'swf'])){$key = date("Y/m/d").time().'.'.$type;}$filePath = ROOT_PATH . '/public/' .$filePath;//上传视频list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);$retUrl = $ret['key'];return $retUrl;}/*** 转存视频截图* @param $config* @param $key* @param $filename* @return string*/public static function vedioPfops($config,$key,$filename,$scd){$auth = new Auth($config['qiniuPK'], $config['qiniuSK']);  //实例化$host = $config['qiniucdnurl'];$bucket = $config['qiniuBucket'];$config = new \Qiniu\Config();$config->useHTTPS = true;$pfop = new PersistentFop($auth, $config);$arr = array();//要进行视频截图操作foreach ($scd as $v){//gif图合成仅支持jpeg\png格式,截图支持jpg\png$fops = "vframe/png/offset/".$v."|saveas/" .\Qiniu\base64_urlSafeEncode($bucket . ":".date('Ymd').$filename."_".$v."_s.png");list($id, $err) = $pfop->execute($bucket, $key, $fops);$arr[] = $host.'/'.date('Ymd').$filename.'_'.$v.'_s.png';}//截图数组return $arr;}/*** 转存合成gif图* @param $config* @param $filename* @return string*/public static function imagePfop($config,$filename,$scrImgArr){$auth = new Auth($config['qiniuPK'], $config['qiniuSK']);  //实例化$host = $config['qiniucdnurl'];$bucket = $config['qiniuBucket'];$config = new \Qiniu\Config();$config->useHTTPS = true;$pfop = new PersistentFop($auth, $config);//合成gif$fop = 'animate/duration/100/merge/key/';foreach ($scrImgArr as $val){//视频转码$base64Img = base64_encode(pathinfo($val,PATHINFO_BASENAME));$fop .= $base64Img.'/key/';//拼接处理的key}//处理拼接字符串$fop = trim($fop,'/key/');$firstImge = array_shift($scrImgArr);//取截图第一张$firstBasename = pathinfo($firstImge,PATHINFO_BASENAME);//对图片进行操作$fops = $fop."|saveas/" .\Qiniu\base64_urlSafeEncode($bucket . ":".date('Ymd').$filename."_gif.png");list($id, $err) = $pfop->execute($bucket,$firstBasename, $fops);
//        list($status,$err) = $pfop->status($id);//gif图路径return $host.'/'.date('Ymd').$filename.'_gif.png';}

七牛云上传文件、视频截图、合成gif图相关推荐

  1. 七牛云上传文件之表单上传文件

    本人愚钝,七牛云上传文件的开发说明文档看了好久才搞懂,才能完成一个实例跑起来.现在做一下总结. 1.注册七牛,新建一个bucket,并获得ak,sk这个不用说了.不涉及到程序编码,重点讲一下编码的流程 ...

  2. uni-app 七牛云上传文件

    关注我的哔哩哔哩哦 https://space.bilibili.com/309103931 哔哩哔哩文章链接https://www.bilibili.com/read/cv5072498 七牛云上传 ...

  3. PHP七牛云上传大视频文件异步存为m3u8格式(包括回调过程)

    问题引入 视频的第一帧加载缓慢. 简介 HTTP Live Streaming,缩写为HLS,是由苹果公司提出基于HTTP的流媒体网络传输协议.它的工作原理是把整个流分成一个个小的基于HTTP的文件来 ...

  4. java整合七牛云上传文件

    七牛云存储 七牛云(隶属于上海七牛信息技术有限公司)是国内领先的以视觉智能和数据智能为核心的企业级云计算服务商,同时也是国内知名智能视频云服务商,累计为 70 多万家企业提供服务,覆盖了国内80%网民 ...

  5. 使用七牛云上传文件报错error=incorrect region, please use up-z2.qiniu.com

    在上传图片到七牛云服务器上报错如下: info ===== <QNResponseInfo= id: CB441DB1-B50D-472A-8DAB-B07700E102C5, ver: 7.1 ...

  6. 使用七牛云上传文件报错incorrect region, please use up-z1.qiniup.com

    在上传图片到七牛云服务器上报错如下: 400: {"error":"incorrect region, please use up-z1.qiniup.com" ...

  7. 七牛云上传截图后的base64位遇到的问题总结

    最近公司内部项目遇到上传base64位图片到七牛云,并且自定义key存储,在解决过程遇到很多问题,但是最终经过请教,都得到结果,故在这里总结一下... 官方文档 1,布局代码如下: <div c ...

  8. 七牛云上传资源和拉取

    一.七牛云存储介绍 七牛云存储,是非常流行的用户存储图片 视频 音频 等文件的存储方式,可以大大的降低用户请求对我们自己服务器的查询压力, 能有效的提高网页的打开速度,使用户获取更好的使用体验. 二. ...

  9. cropperjs图片裁剪器及七牛上传文件

    安装: cropperjs : https://github.com/fengyuanchen/cropperjs npm install cropperjs --save --save-exact ...

  10. kindeditor php教程,kindeditor 加入七牛云上传的实例讲解

    七牛云上传主要有两种: 服务端上传 前端上传,前端又分两种返回方式: 1).重定向返回,可以解决ajax跨域的问题 2).回调返回,七牛云先向服务端要返回数据,再由七牛云返回前端,解决不支持重定向的请 ...

最新文章

  1. vue全家桶 ---axios的使用和二次封装
  2. WinForm下ComboBox获取绑定对象集的SelectedValue补充
  3. OPENSSL_Uplink(0098E000,07): no OPENSSL_Applink 错误分析
  4. 在线模拟器RollerCoin使采矿业重回游戏
  5. 台式电脑已连接但无法上网_电脑无法上网?五步帮你解决!
  6. how to write a php framework,怎么一步步编写简单的PHP的Framework(十四)
  7. python如何输入空行_在python中,如何在接受用户输入时跳过空行?
  8. Linux 设置环境变量导致bash:command not found
  9. HTML5 新特征之Canvas基础
  10. [原]Java程序员的JavaScript学习笔记(7——jQuery基本机制)
  11. python的if循环语句_第二个是Python的循环语句,基础,使用,if,条件,判断,while,for
  12. 如何对计算机c盘进行清理,C盘清理,小编教你怎么给电脑C盘进行清理
  13. html和css实现导航条
  14. 设置C++缺省源的方法(DEV C++)
  15. Unity 2D打地鼠游戏
  16. grammarly怎么安装到word
  17. springboot和druid的整合
  18. 电气转行嵌入式还是java_19 届 985 毕业生想从电气行业转行到 IT 行业,你们怎么看?...
  19. PEST分析顺丰服务需求_快递行业宏观环境分析
  20. 前端面试题整理—ES6篇

热门文章

  1. navicat 8.0 mysql 名、组织、注册码
  2. 透明图片怎么发给别人_【篮球头像】|半透明篮球头像+灌篮高手+哪吒头像
  3. wps带阴影的边框怎么设置_win10系统设置wps阴影边框的具体办法
  4. ARM Keil5下载安装并导入STM32芯片
  5. 车辆路径问题之jsprit(一):认识jsprit
  6. kubernetes(k8s):使用statefulset部署mysql主从集群
  7. NBIOT的BC26使用
  8. 图中提取数据再作图---GetData Graph Digitizer
  9. 科普:机器视觉技术原理解析及应用领域
  10. cppcheck的安装与使用