相关疑难解决方法(0)

HTML5视频:具有Blob URL的流视频

我有一个Blob数组(二进制数据,实际上-我可以表示它是最有效的。我现在正在使用Blobs,但也许a Uint8Array或某些方法会更好)。每个Blob包含1秒的音频/视频数据。每秒钟都会生成一个新的Blob,并将其附加到我的数组中。因此,代码大致如下所示:

var arrayOfBlobs = [];
setInterval(function() {
    arrayOfBlobs.append(nextChunk());
}, 1000);
Run Code Online (Sandbox Code Playgroud)

我的目标是将音频/视频数据流传输到HTML5元素。我知道可以像这样生成和播放Blob URL:

var src = URL.createObjectURL(arrayOfBlobs[0]);
var video = document.getElementsByTagName("video")[0];
video.src = src;
Run Code Online (Sandbox Code Playgroud)

当然,这只会播放视频的前1秒。我还假设我可以以某种方式将当前数组中的所有Blob小级连接起来,以播放一秒钟以上的时间:

// Something like this (untested)
var concatenatedBlob = new Blob(arrayOfBlobs);
var src = ...
Run Code Online (Sandbox Code Playgroud)

但是,这最终仍然会耗尽数据。由于Blob是不可变的,因此我不知道如何在接收到数据时继续追加数据。

我敢肯定,这是有可能的,因为YouTube和许多其他视频流服务都使用Blob URL进行视频播放。他们是如何做到的?

javascript video html5 blob html5-video

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

blob ×1

html5 ×1

html5-video ×1

javascript ×1

video ×1