欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

七牛音视频和大于20M图片的处理 有大用

七牛大文件异步操作指南

简介

我想很多客户用到七牛的大文件异步处理的时候,都很头疼。第一:客户不知道什么时候要使用这个操作,第二:客户不知道如何去使用这个操作,第三:客户不知道如何使用才能做到最佳。

一般在下列情况的时候你要考虑到异步处理了

当你的图片超过了20M的时候,我们服务端通常会返回文件too large 的响应信息,这时候要选用异步来处理。 
当你需要进行音频和视频转码,以及其他关于音频和视频的操作,例如:水印,视频截图,音频水印,pdf转图片,gif转mp4等等。 
当遇到了大文件的镜像拉取资源的时候,建议使用上传工具,异步上传到七牛空间。 
怎样使用七牛的异步操作

首先如果你的视频产生量很少,一天一个视频,你可以直接到七牛后台,进入到多媒体处理中-》开始使用——》新建队列(这里建立的队列是私有队列,不需要与其他用户排队处理,相反公有队列是要跟其他用户分享队列的,需要排队)——》新建作业-》选择你建立的队列-》在新建作业中可以配置音频和视频的预设规格-》点击提交就可以进行转码服务了。然后你可以点击查看状态中看到id,和状态等信息,id可以到左侧的 作业查询中搜索查看。

如果你的视频需要批量处理,自动化执行。你就需要来参照我们的sdk来实现。(分为预转持久化和触发持久化) 1.我们分了很多sdk来实现这

异步的操作有两种方式触发 
1. 上传音视频或者超过20M的图片后立即触发处理,需要服务端的上传策略中设置处理参数persistentOps,http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html; 
2. 可以直接在服务端触发,对空间中已有的资源进行处理操作,接口是 http://developer.qiniu.com/docs/v6/api/reference/fop/pfop/pfop.html,例如:给视频打水印, 其中fops参数就是打水印的操作 
另外,水印图片的url需要做 urlsafe的base64编码。 
另外提供一个demo:PHP pfop : 
https://github.com/qiniu/php-sdk/blob/v6/demo/pfop.php 
这个是pfop的触发demo,打水印操作,直接修改 $pfop->Fops 参数就行。请求发出后,你会拿到一个叫persistenid的一个返回信息:例如:556428d77823de4068f20037 
然后利用我们的api来查询进度: 
http://developer.qiniu.com/docs/v6/api/reference/fop/pfop/prefop.html 
例如:最终得到的url是这样的。 
http://api.qiniu.com/status/get/prefop?id=556428d77823de4068f20037

但是这个方法是不可取的,只能一个一个的去看,还好我们提供了persistentNotifyUrl这个参数,参数的详细说明请参考: 
http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html可以在token中设置。设置后,处理完成的结果信息就会发送到这个url上。和上面的查询结果是一样的。

来自 http://blog.csdn.net/guoer9973/article/details/46009601

普通分类: