Vídeo HTML5: Streaming de vídeo com URLs de blob

Eu tenho uma matriz de Blobs (dados binários, na verdade - posso expressá-lo, no entanto, é mais eficiente. Estou usando o Blobs por enquanto, mas talvez umUint8Array ou algo seria melhor). Cada Blob contém 1 segundo de dados de áudio / vídeo. A cada segundo, um novo Blob é gerado e anexado à minha matriz. Portanto, o código é mais ou menos assim:

var arrayOfBlobs = [];
setInterval(function() {
    arrayOfBlobs.append(nextChunk());
}, 1000);

Meu objetivo é transmitir esses dados de áudio / vídeo para um elemento HTML5. Eu sei que um URL de Blob pode ser gerado e reproduzido da seguinte forma:

var src = URL.createObjectURL(arrayOfBlobs[0]);
var video = document.getElementsByTagName("video")[0];
video.src = src;

Claro que isso só reproduz o primeiro 1 segundo de vídeo. Eu também presumo que posso concatenar trivialmente todos os Blobs atualmente em minha matriz, de alguma forma, para reproduzir mais de um segundo:

// Something like this (untested)
var concatenatedBlob = new Blob(arrayOfBlobs);
var src = ...

No entanto, isso ainda acabará por ficar sem dados. Como os Blobs são imutáveis, não sei como continuar anexando dados à medida que são recebidos.

Estou certo de que isso deve ser possível porque o YouTube e muitos outros serviços de streaming de vídeo utilizam URLs de Blob para reprodução de vídeo. Comoeles faça?

questionAnswers(1)

yourAnswerToTheQuestion