9.6.2021 |

Blob Videos

Vor kurzem wollte ich ein YouTube Video downloaden und anstatt das über einen Converter zu machen wollte ich das ganze per Rechtsklick, Quelltext untersuchen, VideoUrl in neuen Tab kopieren und downloaden... Dies klappte nicht, da die Url mit BLOB://... anfing.

Mir war diese Variante neu und jetzt wollte ich fragen, ob jemand Erfahrung mit Blob Urls hat. Bzw. wenn man selbst so eine Bloburl erstellen möchte, was man dafür im Backend tun oder ob das Video in einem besonderen Format konvertiert werden muss.

Antwort

BLOB steht für Binary Large OBject. Dabei handelt es sich um eine Datei die nur im Speicher vorliegt. Das Dateiformat ist hiervon total unabhängig. Was YouTube genau macht ist mir nicht bekannt, was ich mir jedoch vorstellen kann ist, dass sie einzelne Videoschnipsel in verschiedenen Auflösungen laden und dann mittels JavaScript im Client zusammen setzen.

Demo Time:

data:text/html,<h1>Hello%2C%20DevSquad%21<%2Fh1>

var byteArray = new Uint8Array([60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,115,118,103,32,118,105,101,119,66,111,120,61,34,48,32,48,32,49,49,55,32,49,49,56,34,32,118,101,114,115,105,111,110,61,34,49,46,49,34,32,120,109,108,110,115,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,115,118,103,34,32,120,109,108,110,115,58,120,108,105,110,107,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,108,105,110,107,34,32,102,105,108,108,61,34,110,111,110,101,34,32,115,116,114,111,107,101,45,119,105,100,116,104,61,34,49,56,34,32,115,116,114,111,107,101,45,108,105,110,101,99,97,112,61,34,114,111,117,110,100,34,62,10,32,32,60,112,97,116,104,32,115,116,114,111,107,101,61,34,35,51,52,53,48,55,65,34,32,100,61,34,77,49,48,56,44,55,53,32,67,49,48,56,44,56,54,32,49,48,48,44,49,48,57,32,55,53,44,49,48,57,32,83,52,50,44,56,54,32,52,50,44,55,53,32,86,52,51,32,67,52,50,44,51,50,32,53,48,44,57,32,55,53,44,57,32,83,49,48,56,44,51,50,32,49,48,56,44,52,51,34,32,47,62,10,32,32,60,112,97,116,104,32,115,116,114,111,107,101,61,34,35,49,57,68,51,67,53,34,32,100,61,34,77,57,44,49,48,57,32,86,52,51,32,67,57,44,51,50,32,49,55,44,57,32,52,50,44,57,32,83,55,53,44,51,50,32,55,53,44,52,51,32,86,49,48,57,34,32,47,62,10,60,47,115,118,103,62,10]);
let blob = new Blob([byteArray], {type: "image/svg+xml"});
let blobUrl = URL.createObjectURL(blob);

var img = new Image();
img.src = blobUrl;  
document.body.appendChild(img)
Jan Sauer
Zur Übersicht

Mehr vom DevSquad...

Jan Sauer

Blazing fast typescript with esbuild

Umut Tufanoglu

Cypress Visible deprecated