标签:
七牛大文件异步操作指南
简介
我想很多客户用到七牛的大文件异步处理的时候,都很头疼。第一:客户不知道什么时候要使用这个操作,第二:客户不知道如何去使用这个操作,第三:客户不知道如何使用才能做到最佳。
一般在下列情况的时候你要考虑到异步处理了
当你的图片超过了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