七牛php-sdk使用-多媒体处理
在七牛对象存储可以创建公共的bucket和私有的bucket,私有的不可以直接使用域名加资源key的方式进行访问,需要附加下载凭证。
私有bucket
关于下载凭证的生成,php-sdk已经提供了方法privateDownloadUrl
位于Auth类中:
/**
* 生成私有空间文件的下载凭证
* @param $url 私有空间资源文件的完整url,不是资源key
*/
public function genDownloadCertificate($url)
{
$auth = $this->getAuth();
$url = $auth->privateDownloadUrl($url);
return $url;
}
音频格式转换
因为遇到需求在web端播放手机端录制的音频,因为手机端使用的是对手机压缩性很好的amr格式,但是web端没有播放器可以播放amr格式的音频,所以需要转换为mp3格式。
直接使用持久化处理转为mp3,命令:
$saveas = base64_urlSafeEncode($privateBucketName.':'.$newName.'.mp3');
$pfop = 'avthumb/mp3|saveas/'.$saveas;
$res = $this->persistentOps($amrSourceKey,$privateBucketName,$pfop);
关于persistentOps方法,之前文档处理那篇已经介绍过,点击查看。
在音频处理的时候,发现处理的速度非常慢,经查阅文档得知,默认持久化处理使用的是公共的管道队列,所以很慢,我们需要在七牛管理控制台->产品列表->多媒体处理 中创建自己的队列,并在new PersistentFop()的时候第三个参数传递管道名
视频切片
大部门的web视频播放器都支持mp4格式的视频播放,这里存在一个问题,一个较大(>1G)如果我们直接将一个七牛空间的视频连接地址抛给播放器,可以播放,但当我们需要快进的时候,视频会缓冲特别长的时间,这是因为播放器会将之前的部分全部加载到本地。
那如何实现快进的功能?就是将视频切片,即转换为m3u8格式。pfop命令:
$saveas = base64_urlSafeEncode($this->bucket_for_video.':'.$newName.'.m3u8');
$pfop = 'avthumb/m3u8/noDomain/1/vb/500k|saveas/'.$saveas;//500k视频切片的大小
$res = $this->persistentOps($mp4SourceKey,$this->bucket_for_video,$pfop);
这样就可以将m3u8文件链接地址交给播放器,这是文件都在公共bucket的情况下,如果m3u8文件存在于私有的bucket中,我们需要使用genDownloadCertificate,并且链接添加?pm3u8/0
参数。
$url = genDownloadCertificate('http://private.qiniudomain.cn/xxxxxxx.m3u8?pm3u8/0');
七牛php-sdk使用-多媒体处理的更多相关文章
- 基于七牛Python SDK写的一个批量下载脚本
前言 上一篇基于七牛Python SDK写的一个同步脚本所写的脚本只支持上传,不支持文件下载. 虽然这个需求不太强烈,但有可能有人(在备份.迁移时)需要,而官方有没提供对应的工具,所以我就把这个功能也 ...
- 基于七牛Python SDK写的一个同步脚本
需求背景 最近刚搭了个markdown静态博客,想把博客的图片放到云存储中. 经过调研觉得七牛可以满足我个人的需求,就选它了. 博客要引用图片就要先将图片上传到云上. 虽然七牛网站后台可以上传文件,但 ...
- Async Cow Python 七牛异步SDK
# Async Cow Python 七牛异步SDK > gitee链接 >github链接本SDK基于官方SDK改造而成,但又对其进行了进一步封装,简化了相关操作例如:- 1.不需要使用 ...
- 七牛php sdk 生成上传凭证时出现 undefined function Qiniu_SetKeys()
将qiniu/http.php文件改名即可,原因是xampp等集成环境会安装pear存在了http.php
- 七牛用户搭建c# sdk的图文讲解
Qiniu 七牛问题解答 问题描写叙述:非常多客户属于小白类型. 可是请不要随便喷七牛的文档站.由于须要一点http的专业知识才干了解七牛的api文档.如今我给大家弄个c# sdk的搭建步骤 问题解决 ...
- UEditor上传图片到七牛C#(后端实现)
由于个人网站空间存储有所以选择将图片统一存储到七牛上,理由很简单 1 免费10G 的容量 ,对个人网站足够用 2 规范的开发者文档 和完善的sdk(几乎所有热门语言sdk) 整体思路 图片上传七 ...
- ***七牛跨域上传图片JS SDK
SDK: http://developer.qiniu.com/code/v6/sdk/javascript.html#upload 上传 在页面中引入 plupload,plupload.full. ...
- yii2.0 集合七牛SDK 上传图片到第三方
首先,请用composer下载七牛phpSDK (具体参考官方文档) composer require qiniu/php-sdk 注册七牛账号 获取 AK SK(密匙) ,创建资源对象 获取doma ...
- PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。 https://developer.qiniu.com/pili/sdk/…
PLDroidPlayer PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 ...
随机推荐
- Swift MD5加密 所需桥接文件
Swift MD5加密在github有一个非常好的第三方库,使用也比较简单,还有很多加密方法,如果需要,点击这里下载 对于那些不需要太多的加密,只需要MD5加密的同学,我建议还是不要用第三方库. 因为 ...
- ABP PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词) 引发客户端错误 No 'Access-Control-Allow-Origin' header is present on the requested resource
先请检查是否是跨域配置问题,请参考博客:http://www.cnblogs.com/donaldtdz/p/7882225.html 一.问题描述 ABP angular前端部署后,查询,新增都没问 ...
- React的JSX语法及组件
最近一个同事很急没有做任何交接就请了陪产假,然后我来维护.说实在的我一开始是一脸懵逼的.因为MV*项目里用的最多的还是Vue:React听说也了解过,但毕竟不熟... 不过不管如何这也是工作:同事也恭 ...
- 关于《Web接口开发与自动化测试--基于Python语言》
关于封面logo 首先,你会被书封上面logo吸引,这么炫酷?双蛇杖?嗯,这是Requests的新logo. 旧的logo是一只乌龟. 新logo是双蛇杖: 看到新logo我首先想到的是 火爆全网页游 ...
- Golang丰富的I/O----用N种Hello World展示
h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; direction: ltr; color: #000000; line-height: 200%; te ...
- java 操作本地数据库 mysql
单线程版 /** * */ import java.sql.*; import java.util.Date; import org.omg.CORBA.PUBLIC_MEMBER; /** * @a ...
- Java_Date_01_判断两个时间相差的天数
二.参考资料 1.java 判断两个时间相差的天数 2.java计算两个日期之间相差天数和相隔天数详解
- axios配合vue+webpack使用
1.安装引用: cnpm install axios --save-dev 2.在组件中引入: import axios from 'axios'; 3.使用示例: 执行GET请求: // 为给定 I ...
- maven jar包冲三种解决方式
初次启动应用,一直包如下错误,起初怀疑引入pandora 版本冲突. Exception in thread "main" java.lang.NoSuchMethodError: ...
- Java中读取txt文件中中文字符时,出现乱码的解决办法
这是我写的一个Java课程作业时,遇到的问题. 问题描述: 我要实现的就是将txt文件中的内容按一定格式读取出来后,存放在相应的数组. 我刚开始运行时发现,英文可以实现,但是中文字符就是各种乱码. 最 ...