blob:协议如何作为<video>源工作?

时间:2016-07-12 13:56:35

标签: html5 video

我的一位朋友试图下载Twitter嵌入式视频,并在HTML代码中找到类似的内容:

<video preload="auto" data-id="content" data-type="content" src="blob:https%3A//twitter.com/7897de6d-6eed-4905-9ed2-00ea3d2c99d5" class="visible paused" style="width: 100%; height: 100%;"></video>

当我试图找出视频流的真实来源时(通过检查浏览器网络控制台并点击代理),我感到很困惑。视频播放时,字节似乎无处不在。

浏览器如何理解blob“协议”?

1 个答案:

答案 0 :(得分:1)

Blob是一种处理属于浏览器的内存的方法。这可以是文件,或来自画布的数据,也可以是以其他方式计算的数据。当数据以JavaScript具有blob访问权限的方式加载时,您可以创建一个BlobURI,这是一个指向内部内存结构的URL。

如果Twitter使用blob网址视频,我会怀疑他们是通过canvas代理视频以应用过滤器,还是正在使用{ {1}}用于某种本地缓冲区。无论哪种方式,这意味着JS在过去的某个时刻可以访问内存。