七牛目前已服务超过15万家用户,这些用户的应用场景也各有不一样,其中最典型的应用场景能够分为三大类:音视频应用场景、图片应用场景及App分发类应用场景。咱们但愿经过对这些场景的全面解析的系列文章,能够帮助开发者们减小在云服务使用过程当中的弯路。 html
这个系列先以音视频做为开篇的缘由是,从七牛平台,咱们看到了这个场景的巨大潜力。同时也相信,视频元年即将到来。 api
音视频类场景有个通用特色:对播放的流畅度要求高,对音视频处理的需求也比较旺盛。而且音视频的处理参数远多于图片,因此应用场景复杂度也是很高的。在本文中将从两种类型去总结。 缓存
1、音视频点播类应用 安全
音视频点播资源来源主要有UGC的数据和客户服务端直接上传的数据,这类应用通常会关注下面几点。 服务器
1. 音视频支持转码的格式以及转码处理的触发场景 网络
七牛用于音视频处理使用的库是[FFMPEG],基本上常见的音视频格式七牛都支持。触发的场景能够是音视频上传后当即进行转码操做,也能够是经过七牛的[pfop接口]对已有的资源进行处理。 并发
2. 针对UGC的数据上传的框架以及上传的速度 框架
与图片类应用不一样,音视频的文件一般比较大,因此建议使用七牛提供的[断点续上传接口]来保证上传的速度和稳定性。 加密
3. 是否支持对音视频的直接播放 spa
对音视频播放的支持依赖于播放器,包括网页端播放器和移动端播放器,原则上,只要播放器支持,那么存储在七牛的音视频资源就能直接播放。虽然播放器并非七牛的业务,可是咱们仍是推荐两款优秀的在线播放器JW Player和Sewise Player。
4. 音视频在线播放是否流畅
流媒体文件的播放流畅程度主要依赖于CDN的缓存机制,七牛的CDN节点能够提供流媒体类型的文件缓存,保证视频流、音频流在播放时的稳定和流畅。不过仍是建议对相同的源音视频转码成多码率的音视频,以保证不一样网络情况下的用户都能无障碍访问音视频。针对视频而言,对视频进行[HLS切片]处理是咱们推荐的。
5. 音视频私密性和安全性怎么保证
首先,针对全部的资源,用户均可以将资源的空间设置为私有,来保护资源的私密性,保证资源须要带[下载凭证]去访问资源。而对于私有的HLS文件,七牛提供[pm3u8接口]让m3u8索引文件和切片文件保持下载凭证的一致性。另外七牛提供[HLS加密接口],能够知足用户对音视频的加密需求。还有https通道支持防窃听。
下面用七牛的两个客户案例来具体说明下:
一.美拍
美拍这样的短视频分享类APP,对七牛的需求就是上传稳定性要有保证,下载播放体验也要有保证。美拍目前对七牛的使用以及诉求能够归纳为:
1. 上传。须要保证上传的稳定性,因为七牛不限制任何用户的上传带宽,因此上传的限制会出如今七牛的客户这边,因此在正常状况下,美拍长时间持续大量并发上传并不下降美拍的服务体验。
2. 视频播放的流畅性。在多终端、多网络状况下,通过七牛CDN加速的美拍视频播放体验依然是他的强项,固然视频比较短小也是播放流畅的重要因素,因此建议视频播放站可以考虑七牛提供的[HLS切片服务]。
二.唱吧
唱吧是七牛平台上很是典型的音频案例。七牛为其提供了一整套的多媒体解决方案,从音频的编解码到流媒体分发,从大规模文件的低成本、高可靠性存储到用户端的上传、下载双向加速。
点播类应用还有一个很是特殊的群体,那就是:在线视频监控。这类群体对实时上传,海量存储,以及方便的空间回收都有很是严格的要求。由于更为复杂,以后咱们将用专门的技术结合案例来说述。
2、音视频直播类应用
直播服务是随着用户量的增长应运而生的,点播服务的稳步发展,必然会催生直播的需求。直播服务包含交互与无交互两种需求,这两种有不一样的延时需求。好比足球直播属于无交互的,延时能够在10s左右,而有交互的好比秀场,10s延迟就不能知足。而视频会议这种交互更是须要支持双向通讯方式。七牛的直播服务已经在一些客户的生产环境中获得了应用。通过实践,这类产品通常初期会关注下面几点。
1. 直播服务须要用户本身提供硬件仍是七牛提供硬件。
七牛支持RTMP推流, RTMP和HLS取流,有camera-sdk和player-sdk,也就是说,七牛既可使用客户提供的摄像头,并将sdk烧录到摄像头中,那就不用关心推流协议,播放出来的能够是RTMP或者HLS;若是不修改摄像头,那能够直接搭建一台中转服务器接入七牛的API,直接推RTMP。
2. 直播流最多能够支持多少人同时在线
咱们会根据客户的需求去调整并发支持的数量,一万路并发和十万路并发都是能够实现的。
[DL1]这句没懂,我以为能够提一下断点续上传。