对于大型音视频而言,完整下载后再播放会致使延时很大。针对这种应用场景,七牛云还提供对音视频进行切片存储的功能,目前已支持HLS(HTTP Live Streaming,Apple提出的基于HTTP的流媒体传输协议)。html
本篇将解释如何使用音视频切片功能与如何保护切片内容。segmentfault
七牛云经过在avthumb接口中提供m3u8指令实现HLS切片存储功能。api
注意:avthumb接口是同步接口,如原资源过大将致使访问端超时返回。如下示例仅做为用法演示,强烈建议正式生产环境中使用预转持久化处理接口或触发持久化处理接口进行预处理,加快访问速度。浏览器
仍以美剧《黑名单》第1季第12集的预告片(flv资源)为例,在浏览器中打开以下URL:七牛云存储
http://developer.qiniu.com/samples/黑名单-S01E12.flv?avthumb/m3u8/segtime/10/preset/video_240k
则七牛云将对指定资源进行切片并返回相应的m3u8列表文件:ide
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXTINF:11.000, http://developer.qiniu.com/samples/%E9%BB%91%E5%90%8D%E5%8D%95-S01E12.flv?avthumb/m3u8/segtime/10/preset/video_240k@seg1 #EXTINF:10.000, http://developer.qiniu.com/samples/%E9%BB%91%E5%90%8D%E5%8D%95-S01E12.flv?avthumb/m3u8/segtime/10/preset/video_240k@seg2 #EXTINF:8.267, http://developer.qiniu.com/samples/%E9%BB%91%E5%90%8D%E5%8D%95-S01E12.flv?avthumb/m3u8/segtime/10/preset/video_240k@seg3 #EXT-X-ENDLIST
切片存储生成的各个片断资源将存储在与原资源相同的存储空间里。对于私有空间中的片断资源,必须进行下载受权方可访问,这就要求对m3u8文件里的每个URL进行受权。七牛云提供pm3u8接口来实现这一功能。code
假设已有以下m3u8文件(保存在私有空间中):视频
http://developer.qiniu.com/samples/live_net.m3u8 #EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:31 #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00000_.ts #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00001_.ts #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00002_.ts #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00003_.ts #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00004_.ts #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00005_.ts #EXTINF:30.827000, http://developer.qiniu.com/samples/fop/av/live_00006_.ts #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00007_.ts #EXTINF:30.827000, http://developer.qiniu.com/samples/fop/av/live_00008_.ts #EXTINF:25.149000, http://developer.qiniu.com/samples/fop/av/live_00009_.ts #EXT-X-ENDLIST
那么在浏览器中键入以下URL便可获得相应的受权m3u8文件:htm
http://developer.qiniu.com/samples/live_net.m3u8?pm3u8/0&e=1388734117&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:sKjXkO59AxPtdaO2cEtWtiHmzdo= #EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:31 #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00000_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:qhXZvVauNafcUMoBeo4SkRWaWiw #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00001_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:h1Oy8oW7oAIOGWZP8QNVAPI82Vw #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00002_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:OQ6GMLEjFRnCAne9K9YU8-tXeIg #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00003_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:XWdLiYgUxNZbqikNLQ3joG3Mvhk #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00004_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:3EKOMwcqSUWsdap3SaY4l3RoaCg #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00005_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:j4uORlTKDBHk4Xwkv90eCM3I87U #EXTINF:30.827000, http://developer.qiniu.com/samples/fop/av/live_00006_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:tp7CjnEBGxGHkDbRqd8OehlGSno #EXTINF:30.826000, http://developer.qiniu.com/samples/fop/av/live_00007_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:QxYkdqWEAYj90kgX5jUPedFxXVo #EXTINF:30.827000, http://developer.qiniu.com/samples/fop/av/live_00008_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:MQ7EDzKP2f_EtpXq-maGr88mazA #EXTINF:25.149000, http://developer.qiniu.com/samples/fop/av/live_00009_.ts?e=1388773727&token=u8WqmQu1jH21kxpIQmo2LqntzugM1VoHE9_pozCU:jmx4dIZndnrNFqzLg72YZM-qtmY #EXT-X-ENDLIST
注意:blog
通过三篇文章以后,读者应该了解并能独立使用七牛云的音视频处理功能,本指南将告一段落。
随着处理功能的增多,本指南还可能会追加相应内容,敬请期待!
七牛云存储 © 2014 署名-非商业性使用-禁止演绎
容许自由转载,请注明做者及出处。