在七牛对象存储可以创建公共的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使用-多媒体处理的更多相关文章

  1. 基于七牛Python SDK写的一个批量下载脚本

    前言 上一篇基于七牛Python SDK写的一个同步脚本所写的脚本只支持上传,不支持文件下载. 虽然这个需求不太强烈,但有可能有人(在备份.迁移时)需要,而官方有没提供对应的工具,所以我就把这个功能也 ...

  2. 基于七牛Python SDK写的一个同步脚本

    需求背景 最近刚搭了个markdown静态博客,想把博客的图片放到云存储中. 经过调研觉得七牛可以满足我个人的需求,就选它了. 博客要引用图片就要先将图片上传到云上. 虽然七牛网站后台可以上传文件,但 ...

  3. Async Cow Python 七牛异步SDK

    # Async Cow Python 七牛异步SDK > gitee链接 >github链接本SDK基于官方SDK改造而成,但又对其进行了进一步封装,简化了相关操作例如:- 1.不需要使用 ...

  4. 七牛php sdk 生成上传凭证时出现 undefined function Qiniu_SetKeys()

    将qiniu/http.php文件改名即可,原因是xampp等集成环境会安装pear存在了http.php

  5. 七牛用户搭建c# sdk的图文讲解

    Qiniu 七牛问题解答 问题描写叙述:非常多客户属于小白类型. 可是请不要随便喷七牛的文档站.由于须要一点http的专业知识才干了解七牛的api文档.如今我给大家弄个c# sdk的搭建步骤 问题解决 ...

  6. UEditor上传图片到七牛C#(后端实现)

    由于个人网站空间存储有所以选择将图片统一存储到七牛上,理由很简单 1  免费10G 的容量  ,对个人网站足够用 2  规范的开发者文档 和完善的sdk(几乎所有热门语言sdk) 整体思路 图片上传七 ...

  7. ***七牛跨域上传图片JS SDK

    SDK: http://developer.qiniu.com/code/v6/sdk/javascript.html#upload 上传 在页面中引入 plupload,plupload.full. ...

  8. yii2.0 集合七牛SDK 上传图片到第三方

    首先,请用composer下载七牛phpSDK (具体参考官方文档) composer require qiniu/php-sdk 注册七牛账号 获取 AK SK(密匙) ,创建资源对象 获取doma ...

  9. PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。 https://developer.qiniu.com/pili/sdk/…

    PLDroidPlayer PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 ...

随机推荐

  1. IntelliJ Idea 2017 注册码 免费激活方法

    1. 到网站 http://idea.lanyus.com/ 获取注册码. 2.弹窗中选择最后一个页面license server,填入下面一种链接即可: http://idea.iteblog.co ...

  2. 实现我博客旁边的线条效果 html canvas-nest.js 源码

    canvas-nest.js 这个js文件可以用来实现炫酷的线条与鼠标进行交互的功能,具体效果如图所示 js具体源码如下: /** * Copyright (c) 2016 hustcc * Lice ...

  3. php--php调java接口验签

    <?php namespace Fmall_cloud\Model; use Think\Model; class DealJavaModel extends Model { /** * @ti ...

  4. OC学习14——谓词

    一.谓词的基本概念与使用 1.谓词(NSPredicate)用于定义一个逻辑条件,通过该条件可执行搜索或内存中的过滤操作.上一篇文章中介绍的集合都提供了使用谓词对集合进行过滤的方法.OC中的谓词操作是 ...

  5. iOS Swift基础知识代码

    推荐:Swift学习使用知识代码软件 //集合类型 数组 字典 func array1(){ var arr = [","dd"] //简单写法 var arr1 = [ ...

  6. 【Netty】源码分析目录

    前言 为方便系统的学习Netty,特整理文章目录如下. [Netty]第一个Netty应用 [Netty]Netty核心组件介绍 [Netty]Netty传输 [Netty]Netty之ByteBuf ...

  7. java 设计模式-缺省适配器模式

    本文转载地址:http://www.cnblogs.com/iyangyuan/archive/2013/03/11/2954808.html 在程序设计过程中,读者很可能遇到这样一种困境:设计了一个 ...

  8. iOS XIB等比例适配

    选择两个视图使其等宽高,再去约束里面就可以设置乘数因子. 简单的一个例子: 要求:设置白色视图的宽度为蓝色视图的一半 1.点击白色视图连线到父视图,选择 Equal Widths     2.选择右边 ...

  9. websocket(二) websocket的简单实现,识别用户属性的群聊

    没什么好说的,websocket实现非常简单,我们直接看代码. 运行环境:jdk8 tomcat8 无须其他jar包. 具体环境支持自己百度 package com.reach.socketContr ...

  10. Dubbo(二) 认识Zookeeper

    前言 在昨天,我们给大家基本介绍了Dubbo,文中反复提到了Zookeeper,那么它到底是什么呢,这篇文章我们将从Dubbo层面去了解Zookeeper,不做全面讲解,毕竟这是Dubbo教程啊~ Z ...