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

一、问题场景

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

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

  • 47
    点赞
  • 183
    收藏
    觉得还不错? 一键收藏
  • 49
    评论
blob:http 是一种URL协议标识,用于指向在浏览器生成的Blob对象的临时URL。Blob对象是一种特殊的二进制数据类型,可用于存储和操作任意类型的数据,如图像、音频和视频等。 关于 blob:http 的兼容性,它在不同浏览器和操作系统下的表现是不同的。一般而言,blob:http 在大多数现代浏览器具有良好的兼容性。常见的浏览器如Chrome、Firefox、Safari和Edge都支持该协议。 在桌面浏览器blob:http 主要用于处理大型文件的上传和下载,以及在网页生成临时URL以供其他操作使用。这种用法在现代浏览器得到广泛支持,因为Blob对象提供了一种高效、安全的方式来处理大量数据。 而在移动浏览器blob:http 的兼容性可能存在一些差异。一些老旧的移动浏览器可能不支持这种临时URL的生成和使用,或者可能需要额外的配置和处理。 为了确保在不同浏览器和操作系统兼容 blob:http,开发者可以使用特性检测来判断浏览器是否支持该功能,在不支持的情况下采用其他替代方案或工具。此外,适当的错误处理和后备方案也是保证兼容性的重要手段。 综上所述,blob:http 在大多数现代浏览器具有良好的兼容性,但在一些老旧的移动浏览器可能存在一些差异。开发者应该根据实际需求和目标用户群体选择合适的解决方案,并做好相应的兼容性处理。
评论 49
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值