2016-07-12 2 views
6

Мой друг пытается загрузить Twitter встроенное видео и нашел что-то подобное в HTML-коде:Как работает blob: протокол работает как <video> источник?

<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

Blobs - это способ обработки памяти, принадлежащей браузеру. Это могут быть файлы или данные с холста или данные, которые вычисляются каким-то другим способом. Когда данные загружаются таким образом, что JavaScript имеет доступ к нему blob, вы можете создать BlobURI, который является адресом, указывающим на внутреннюю структуру памяти.

В случае твиттера с помощью blob URL-адреса для видео, я подозреваю, что они либо проксирование видео через canvas для того, чтобы применить фильтр, или используют blobs для какого-то локального буфера. В любом случае это означает, что память была доступна JS в какой-то момент в прошлом.

Смежные вопросы