UC浏览器视频播放缓存以及视频下载分析 您所在的位置:网站首页 uc能缓存视频的版本 UC浏览器视频播放缓存以及视频下载分析

UC浏览器视频播放缓存以及视频下载分析

2024-05-03 04:02| 来源: 网络整理| 查看: 265

PC时代,浏览器几乎是上网的唯一入口,那时候,得浏览器得天下,大家都想守住这个流量入口,为自家的服务导流。移动互联网时代,繁多的App分割了浏览器的流量,浏览器失去了平台流量的入口地位,沦为一个普通的上网工具,但是浏览器的灵魂注入了很多App中,微信是一个“浏览器”,头条也是一个“浏览器”。因为它们都有“浏览网页”服务的诉求。

这儿有点小小的跑题,本文我们主要分析一下UC浏览器的视频播放缓存功能和视频下载功能。对比一下UC浏览器和QQ浏览器的视频下载:图1是UC浏览器的截图,图2是QQ浏览器的截图。

可以比较明显的看出来,UC浏览器的视频下载速度是比较快的,这个是为什么?需要研究一下UC浏览器的视频下载是怎么做的?

我们简单分析一下UC浏览器的apk包,反解一下apk文件,然后分析其中用到了什么技术。UC浏览器的版本是UCBrowser_V12.5.4.1034.apk,使用AndroidStudio分析一下apk包的总结构。

发现了6个dex文件,还有很多lib so,如下:

其中在classes5.dex中发现如下的代码:com.uc.vturbo包名下面有一些关键类。

从名字上面已经比较清晰了,这是P2P下载的管理类,那么UC浏览器是否真的使用P2P下载了?

下载一个视频,发现在/sdcard/Android/data/com.UCMobile/files/.videocache文件夹下面有3个文件:

查看其中一个文件夹中的内容如下:

其中3f707cb48e86b496dd0708a5bdaf3b7d088a45dd_hh0039 是种子文件,3f707cb48e86b496dd0708a5bdaf3b7d088a45dd_vx00454是 M3U8索引文件。

其中种子文件如下:

这里种子文件对应的分片内容正好对应 M3U8的分片内容:

UC视频利用的了本地代理实现了边下边播的技术:通过下面的抓包可以发现。

可以很清晰的看到很多127.0.0.1的请求,这就是在手机上搭建了一个本地代理,然后通过本地代理去服务器请求数据,播放器再从本地代理服务器上取数据。

解析tracker信息,然后利用P2P下载技术去追踪视频的种子文件。

抓包发现发起了很多请求:

10.12.65.96是本机的IP,发现server端的IP不断在变化,这次这是P2P的技术将client作为资源分发的工具,所以才能发现请求同域名的资源,请求的server端的IP不断在变化。仔细分析一下这些IP,发现这些IP都是在我附近的IP。如果是直接从视频源服务器上拉取数据,那server端的IP应该是固定的。

下面分解一下如何解析torrent文件。

总结

UC浏览器使用本地代理实现边下边播,这个技术是如何实现边下边播的,下面会单独出文章分析一下。UC浏览器使用P2P实现视频下载。P2P下载方式是一种稀释服务器压力的一种高效的下载方式,越多节点加入,下载越快。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有