ora*_*int 6 javascript video video-streaming html5-video ipfs
我正在尝试从流中加载视频。即使整个视频尚未“下载”,我也希望能够“播放”视频。base64 数据以缓冲区块流的形式传入。
const videoTag = document.getElementById('videoTag');
const mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
const mediaSource = new MediaSource();
videoTag.src = URL.createObjectURL(mediaSource);
await new Promise((resolve, reject) => {
mediaSource.addEventListener('sourceopen', function (_) {
resolve();
});
});
const sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
for await (const chunk of ipfsNode.cat(CID)) {//Chunk is coming in as an array buffer
sourceBuffer.appendBuffer(chunk);
}
sourceBuffer.addEventListener('updateend', async function (_) {
mediaSource.endOfStream();
$('#videoTag')[0].load();
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用new MediaSource()和sourceBuffer.appendBuffer(chunk);推新下载的数据块的视频,但不仅在视频没有播放过,我现在用的方法要求之前,整个视频下载可以玩。
如何将我chunk的 base64 数据放入视频中?
编辑(回应评论):无论我是使用字符串还是二进制流,我都对如何将流导入视频感到有些困惑。