2016-07-12 9 views
6

Ein Freund von mir versucht, ein Twitter eingebettetes Video herunterladen und so etwas wie dies in dem HTML-Code gefunden:Wie funktioniert das Blob: Protokoll als <video> Quelle?

<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> 

Ich bin so verwirrt, wie er war, als ich versuchte, die echte Quelle, um herauszufinden, des Video-Streams (entweder durch Überprüfen der Browser-Netzwerkkonsole und durch Klicken auf einen Proxy). Während das Video abgespielt wurde, scheinen die Bytes aus dem Nichts zu kommen.

Wie versteht der Browser das Blob "Protokoll"?

Antwort

1

Blobs sind eine Möglichkeit, mit dem Speicher umzugehen, der zum Browser gehört. Dies können Dateien oder Daten aus einer Arbeitsfläche oder Daten sein, die auf andere Weise berechnet werden. Wenn Daten so geladen werden, dass,Zugriff auf sie hat, können Sie eine BlobURI erstellen, die eine URL ist, die auf die interne Speicherstruktur zeigt.

Im Fall von twitter blob URL für Video verwenden, würde ich vermuten, dass sie entweder Proxying das Video durch einen canvas, um einen Filter anzuwenden, oder verwenden blobs für irgendeine Art von lokalen Puffer. In jedem Fall bedeutet dies, dass der Speicher für JS in der Vergangenheit zugänglich war.

Verwandte Themen