上海2015年1月13日电 /美通社/ -- 近日,七牛为用户推出应用场景全面解析,旨在帮助开发者们更便捷地使用云服务。七牛目前已服务超过15万家用户,这些用户的应用场景也各有不同,其中典型的应用场景可以分为三大类:音视频应用场景、图片应用场景及 App 分发类应用场景。七牛希望通过全面解析这些场景,帮助开发者们避免在云服务使用过程中的走弯路。
七牛提供的全面解析先以音视频作为开篇,原因在于从七牛平台上可以看到
这个场景的巨大潜力。同时七牛也相信,视频元年即将到来。音视频类场景有一共同特点:对播放的流畅度要求高,对音视频处理的需求也比较旺盛。并且音视频的处理参数远多于图片,所以应用场景复杂度也较高。以下将总结音视频的两种类型。
一、音视频点播类应用
音视频点播资源来源主要有 UGC 的数据和客户服务端直接上传的数据,这类应用一般会关注下面几点。
1. 音视频支持转码的格式以及转码处理的触发场景
七牛用于音视频处理使用的库是“FFMPEG”,基本上常见的音视频格式七牛都支持。触发的场景可以是音视频上传后立即进行转码操作,也可以是通过七牛的“pfop接口”对已有的资源进行处理。
2. 针对UGC的数据上传的框架以及上传的速度
与图片类应用不同,音视频的文件通常比较大,所以建议使用七牛提供的断点续上传接口来保证上传的速度和稳定性。
3. 是否支持对音视频的直接播放
对音视频播放的支持依赖于播放器,包括网页端播放器和移动端播放器,原则上,只要播放器支持,那么存储在七牛的音视频资源就能直接播放。虽然播放器并不是七牛的业务,但是我们还是推荐两款优秀的在线播放器 JW Player 和 Sewise Player。
4. 音视频在线播放是否流畅
流媒体文件的播放流畅程度主要依赖于 CDN 的缓存机制,七牛的 CDN 节点可以提供流媒体类型的文件缓存,保证视频流、音频流在播放时的稳定和流畅。不过还是建议对相同的源音视频转码成多码率的音视频,以保证不同网络状况下的用户都能无障碍访问音视频。针对视频而言,对视频进行“HLS切片”处理是我们推荐的。
5. 如何保证音视频私密性和安全性
首先,针对所有的资源,用户都可以将资源的空间设置为私有,来保护资源的私密性,保证资源需要带“下载凭证”去访问资源。而对于私有的 HLS 文件,七牛提供“pm3u8接口”让 m3u8 索引文件和切片文件保持下载凭证的一致性。另外七牛提供“HLS加密接口”,可以满足用户对音视频的加密需求。还有 https 通道支持防窃听。
下面用七牛的两个客户案例来具体说明下:
美拍
美拍这样的短视频分享类 APP,对七牛的需求就是上传稳定性要有保证,下载播放体验也要有保证。美拍目前对七牛的使用以及诉求可以概括为:
唱吧
唱吧是七牛平台上非常典型的音视频案例。七牛为其提供了一整套的多媒体解决方案,从音视频的编解码到流媒体分发,从大规模文件的低成本、高可靠性存储到用户端的上传、下载双向加速。
点播类应用还有一个非常特殊的群体,那就是:在线视频监控。这类群体对实时上传,海量存储,以及方便的空间回收都有非常严格的要求。因为更为复杂,之后我们将用专门的技术结合案例来讲述。
二、音视频直播类应用
直播服务是随着用户量的增加应运而生的,点播服务的稳步发展,必然会催生直播的需求。直播服务包含交互与无交互两种需求,这两种有不同的延时需求。比如足球直播属于无交互的,延时可以在10s左右,而有交互的比如秀场,10s延迟就不能满足。而视频会议这种交互更是需要支持双向通信方式。七牛的直播服务已经在一些客户的生产环境中得到了应用。经过实践,这类产品一般初期会关注下面几点。
1. 直播服务需要用户自己提供硬件还是七牛提供硬件。
七牛支持 RTMP 推流, RTMP 和 HLS 取流,有 camera-sdk 和 player-sdk,也就是说,七牛既可以使用客户提供的摄像头,并将 sdk 烧录到摄像头中,那就不用关心推流协议,播放出来的可以是 RTMP 或者 HLS;如果不修改摄像头,那可以直接搭建一台中转服务器接入七牛的 API,直接推 RTMP。
2. 直播流最多可以支持多少人同时在线
我们会根据客户的需求去调整并发支持的数量,一万路并发和十万路并发都是可以实现的。
Photo: http://photos.prnasia.com/prnh/20150112/0861500234-a
Photo: http://photos.prnasia.com/prnh/20150112/0861500234-b