20
2019
02

视频网站中video标签中的视频资源以blob:http呈现的探索

HQY

一、问题场景


    想下载知乎视频资源,却发现视频链接是这个样子的


blob:https://v.vzuu.com/b6146956-6e52-406d-8909-f3f1b81ae461




当时一脸懵比啊 ~难道blob:https是什么牛逼的新协议?于是进行了一番探索


二、探寻结论


    结论就是blob:https并不是一种协议,而是html5中blob对象在赋给video标签后生成的一串标记,blob对象对象包含的数据,浏览器内部会解析;


在web容器中的页面代码




浏览器访问后的页面代码




这是因为在浏览器中执行了如下js




三、关于资源下载


很多小伙伴查找这个问题,是为了下载视频资源,


资源的真实下载链接可在chrome的调式模式的network中找到,


但有种资源比较特殊,即m3u8格式的资源




这种格式的视频会被分解成很多个小片段,这个链接下载的是一个包含多个小视频(ts格式的视频)的链接集合,这样做的目的是:


1、可以方便切换分辨率(多个ts格式的视频支持无缝流畅播放,MP4不行);


2、可能就是防止下载吧;


不过根据这个特性,有高手用java写了一个工具,可方便下载m3u8指向的真实文件,以下是链接:


M3u8ToFile


https://download.csdn.net/download/xingyun89114/10498514

HQY
« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。