php七牛分片上传_七牛视频切片方案 - 张小超fly的个人空间 - OSCHINA - 中文开源技术交流社区...

使用七牛 sdk 上传视频并做分片操作。

step1 生成 token

const qiniu = require("qiniu"); var accessKey = proc.env.QINIU_ACCESS_KEY; var secretKey = proc.env.QINIU_SECRET_KEY; var mac = new qiniu.auth.digest.Mac(accessKey, secretKey); var bucket = proc.env.QINIU_TEST_BUCKET; // 对象存储空间 //带数据处理的凭证 var origin_filename = "avthumb_test_target.mp4"; // 源文件名 var save_as_filename = `${origin_filename}.m3n8`; // 分片后的文件名 var saveMp4Entry = qiniu.util.urlsafeBase64Encode(`${bucket}:${save_as_filename}`); var avthumbMp4Fop = "avthumb/m3u8/noDomain/1/segtime/15/vb/440k|saveas/" + saveMp4Entry; var options = { scope: bucket, expires: 3600, // 凭证有效时间 persistentOps: avthumbMp4Fop, // 视频上传后触发预转持久化,切片处理 persistentPipeline: "video-pipe", // 多媒体处理队列 persistentNotifyUrl: "http://api.example.com/qiniu/pfop/notify", // 回调通知地址 } var putPolicy = new qiniu.rs.PutPolicy(options); console.log(putPolicy.uploadToken(mac));

生成不同作用的凭证可以查看官方提供的示例nodejs-sdk example。

以上代码为生成上传视频并进行切片处理的凭证。上传相关的文档查看七牛上传策略。

切片动作是由persistentOps参数触发并启动一个异步任务,

persistentOps 详解

persistentOps 字段用于指定预转数据处理命令和保存处理结果的存储空间与资源名。

为此字段指定非空值,则在成功上传一个文件后,会启动一个异步数据处理任务。persistentId 字段,唯一标识此任务。

当 returnBody 中指定了 persistentId 魔法变量时,客户端收到的响应内容 returnBody 中会有 persistentId;当没有指定 returnBody 时,默认也会返回 persistentId。

使用默认的存储空间和资源名

* 当只指定了数据处理命令时,服务端会选择上传文件的 Bucket 作为数据处理结果的存储空间,Key 由七牛服务器自动生成。

使用指定的存储空间和资源名

在数据处理命令后用管道符|拼接saveas/指令,指示七牛服务器使用EncodedEntryURI格式中指定的 Bucket 与 Key 来保存处理结果。如 avthumb/flv|saveas/cWJ1Y2tldDpxa2V5,是将上传的视频文件转码flv格式后存储为qbucket:qkey,其中cWJ1Y2tldDpxa2V5是qbucket:qkey的URL安全的Base64编码结果。以上方式可以同时作用于多个数据处理命令,用;分隔,如 avthumb/mp4|saveas/cWJ1Y2tldDpxa2V5;avthumb/flv|saveas/cWJ1Y2tldDpxa2V5Mg==

数据处理命令可以查看官方文档,比如视频切片接口。

step2 前端直传

POST http://up.qiniu.com 格式: form-data 参数: key: 文件名,上文代码中的 `origin_filename` token: 上传token file: 具体文件 // 上传成功的响应体 // 状态码 200 { "hash": "luVJbz9RtE3Ha7c9XaDerE6rPyvP", "key": "prTEDwvJY18YBD_720_p1.mp4", "persistentId": "z0.5b56c9b938b9f324a573edb4" // 可以使用persistentId,检测当前处理状态 } 作者:youthcity 链接:https://www.jianshu.com/p/f73b39ae02dc 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

step3 轮询获取结果

GET api.qiniu.com/status/get/prefop?id=${persistentId} { "code": 0, // 状态码0成功,1等待处理,2正在处理,3处理失败,4通知提交失败。 "desc": "The fop was completed successfully", "id": "z0.5b56c9b938b9f324a573edb4", "inputBucket": "ocean", "inputKey": "prTEDwvJY18YBD_720_p1.mp4", "items": [ { "cmd": "avthumb/m3u8/noDomain/1/segtime/15/vb/440k|saveas/b2NlYW46aGxzX3ByVEVEd3ZKWTE4WUJEXzcyMF9wMS5tM3U4", "code": 0, "desc": "The fop was completed successfully", "hash": "FraV6PX6Xp7mYYgAnY0sniTK-pPt", "key": "hls_prTEDwvJY18YBD_720_p1.m3u8", "returnOld": 0 } ], "pipeline": "1381326751.k12_video", "reqid": "FQIAAKAxpZfFOkQV" } 作者:youthcity 链接:https://www.jianshu.com/p/f73b39ae02dc 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

参考资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot 中文文档_还在用 Swagger生成接口文档?我推荐你试试它

JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后端代码都是自己写的,否则API文…

wringPi 初始化GPIO 为上拉_玩转GPIO之PWM点亮呼吸灯(非树莓派)

在这篇文章,我介绍了基于逸宸电子开发的总线适配器来点亮LED灯的基本方法!myastrotong:玩转GPIO之点灯(非树莓派)​zhuanlan.zhihu.com这款总线适配器的介绍见这里:工业级高速USB转SPI I2C PWM GPIO UART C…

php箱子,webshell箱子php版本.rar

压缩包 : webshell箱子php版本.rar 列表api.phpconfig.phpindex.php安装说明.txtadmin/config.phpadmin/exit.phpadmin/help.phpadmin/index.phpadmin/login.phpadmin/root.phpadmin/shell.phpdata/1141056911#!.datimages/0.gifimages/1.gifimages/10.gifimages/2.gifimages/3…

dnf如何快速拾取物品_DNF手游泰拉该如何获取,游戏蜂窝辅助托管快速获取泰拉...

在DNF手游中,一共存在三种的核心货币——点券,泰拉还有金币。点券是用来买商城道具的主要流动货币,金币则是用来打造装备的,而泰拉是有两种货币的共同点,所以它既能在商城购买各种道具,又能兑换金币。所以说…

php抓取页面生成html,PHP smiple html dom抓取页面内容

之前做页面抓取,数据采集等功能的时候,第一个想到的就是用正则表达式去匹配页面内容。但是对于像我这种,正则只懂皮毛的人来说,写正则是真的很恶心的一件事。去网上找,也不一定能改成自己需要的正则。今天给大家推荐一…

java商城_java网上商城系统怎么样?优势又有哪些?

导读:大家都知道Java是一款非常实用的开发语言,而通过Java开发的商城吸引也因为其强大安全性能与使用性能等优势受到了很多企业商家的青睐,那么一款功能丰富的Java商城系统也自然成为...大家都知道Java是一款非常实用的开发语言,而…

php socket keepalive,linux keepalive探测对应用层socket api的影响

问题大部分人都知道tcp的keepalive. 假设读者知道keepalive会如何触发. 这篇文章想讨论keepalive触发后, 对socket使用者的影响.keepalive设置修改/etc/sysctl.confubuntu# vim /etc/sysctl.confubuntu# sysctl -pfs.file-max 131072net.ipv4.tcp_keepalive_time 10net.ipv4.…

qt 文字倾斜投影_帅呆!钢铁侠中的激光投影键盘终于量产了,炫酷又好用

看过电影《钢铁侠》的朋友,估计都会被钢铁侠的各种黑科技所折服,比如钢铁装甲、全息投影、人工智能贾维斯等等。不过这些黑科技想要实现还需要一段时间。但其中有一项黑科技已经被国产厂商实现了,那就是——激光投影键盘。早在去年&#xff0…

手机投电脑_把王者荣耀投屏到电脑上玩更爽哦——投屏神器幕享

今天给大家介绍一款投屏神器,它叫做幕享。直接摆观点——现今最好用的投屏工具,没有之一!它是全平台都有的软件哦,这意味着除了电脑,你还可以在安卓市场和Appstore下载到它。三个平台都有意味着什么呢,心细…

清华大学镜像_国内开源镜像站信息盘点

一、前言开源镜像站点是一个放置开源系统镜像文件的站点,免费提供镜像文件下载服务,可以刻盘也可以直接用虚拟光驱安装操作系统、开源软件、Linux源码网站。目前,各大高校都纷纷建立了自己的镜像站,一些有实力的大厂也开始为开源事…

php ci上传图片,CodeIgniter上传图片成功的全部过程分享

/*注意,这里是userfile,$this->upload->do_upload(),这里do_upload默认上传文件的表单名为userfile;当然也可以使用do_upload($filename),这里的$filename一定要和form_upload()里面的字符串一致.我在这里范了糊涂,最后看了手册才明白,希望大家注意哦!*/controller代码: …

labview圆环里实物动画图形_有趣的图形教案

有趣的图形教案作为一名优秀的教育工作者,通常会被要求编写教案,教案是保证教学取得成功、提高教学质量的基本条件。怎样写教案才更能起到其作用呢?以下是小编为大家整理的有趣的图形教案,希望对大家有所帮助。有趣的图形教案1活动…

python原理书籍_python书籍推荐:《深入浅出深度学习:原理剖析与Python实践》

在过去的这十年,深度学习已经席卷了整个科技界和工业界,2016年谷歌阿尔法狗打败围棋世界冠军李世石,更是使其成为备受瞩目的技术焦点。今日,小编就为大家推荐一本能让初学者和“老司机”同样感到非常有用的机器学习图书——《深入…

java kcp,重新认识KCP - osc_rreaoxa0的个人空间 - OSCHINA - 中文开源技术交流社区

什么是KCPKCP是一种网络传输协议(A Fast and Reliable ARQ Protocol),可以视它为TCP的代替品,但是它运行于用户空间,它不管底层的发送与接收,只是个纯算法实现可靠传输,它的特点是牺牲带宽来降低延迟。因为TCP协议的大…

python科学计算第三版-python科学计算pdf下载

python科学计算第二版是一本Python语言基础教程,由张若愚编著,小编从网上收集而来,为各位免费提供下载和阅读;本书将使用Python各种扩展库完成数值计算、界面制作、三维可视化、图像处理、提高运算速度等任务。 ​python科学计算第…

pakeage php国内镜像,Packagist/Composer中国全量镜像 | 严佳冬

有两种方式启用本镜像服务:1.将配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。2.将配置信息添加到单个项目的 composer.json 文件中(单个项目配置)。1:修改 composer 的全局配置文件(推荐方式)打开命令行窗口(windows用户)或控制台…

分割函数python_python strip() 函数和 split() 函数的详解及实例

一直以来都分不清楚strip和split的功能,实际上strip是删除的意思;而split则是分割的意思。因此也表示了这两个功能是完全不一样的,strip可以删除字符串的某些字符,而split则是根据规定的字符将字符串进行分割。下面就详细说一下这…

安卓 图像清晰度识别_螺柱焊位置识别算法初稿

为了保证螺柱焊接时,螺柱焊接位置和螺柱所在凸台偏差太远带来的抱怨,打算采用图像识别的方法识别螺柱在所焊接凸台位置是否居中;在凸台上的的螺柱焊通过计算凸台圆弧的圆心和螺柱的圆心偏差来判断螺柱是否在凸台的中心,分以下几个…

matlab库存点仿真教程,基于MATLABSimulink库存系统建模与仿真.doc

基于MATLABSimulink库存系统建模与仿真基于MATLABSimulink库存系统建模与仿真摘要:库存系统是管理系统中最普遍的一种,在库存系统中要通过不同的需求情况,确定何时订货和定多少货为宜。本文通过对经济批量订货库存系统的分析,建立…

python 执行文件内容_python执行文件

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云文件存储NAS是一个可共享访问&#xf…