引用
- 音视频开发之旅公众号解析AndroidVideoCache
—— 针对源码逐行解析,分析开源库优劣。适合从宏观上大致了解流程。 - 七猫团队视频流量优化技术调研
—— 结合业务需求,有目的性地输出技术方案,横向对比了不同框架的优劣。从细节上,有更多深入思考;增加了多种流程图和思维导图,脉络清晰。值得反复研读。
源码流程图
注意
- 不支持预加载,需用户手动添加。配合如下方式使用:
HttpProxyCacheServerClients clients = getClients(url);
clients.processRequest(request);
- 不支持分片下载,也不支持m3u8格式。
- 由于是在线程中循环请求网络数据下载文件,不会被中断,一旦开启,会将整个视频都下载完。一定程度上也是浪费流量。
- 同时失去了播放器边播边下的流量节省优势,导致播放器无法控制缓冲进度!
例如,一个视频有200M,用户只看了四分之一,假设是50M,目前市面上的播放器大都有设置缓冲进度的功能,这样一来,设置将无效,框架仍然会将完整的200M视频全量下载,用户将耗费大量的数据流量,因为播放器设置的最大缓冲进度是播放器从本地读取的最大缓冲进度,而不是网络下载的进度
- 更适合音频等小文件。