在Node.js中流式传输视频的一部分

时间:2015-09-13 09:32:57

标签: javascript node.js stream streaming

我正在使用模块(BinaryJS)将存储在服务器中的视频传递给浏览器(客户端)。

我的目标是不是整个视频,而是一部分。

我尝试的是

//Creating the client
var client = new BinaryClient('ws://localhost:9000/binary-endpoint')

//Inserting the video element in the body
var video = document.createElement("video");
document.body.appendChild(video);

//Array where the arrayBuffers will be stored
var parts =  [];

client.on('stream', function(stream,meta){
  stream.on('data',function(data){
      parts.push(data);
  });
  stream.on('end',function(){
    video.src = (window.URL||window.webkitURL).createObjectURL(new Blob(parts.slice(0,500)));
    $('video')[0].play();
    $('video')[0].controls=true;
  })
});

请注意,为了达到目标,我只为Blob构造函数提供了一部分已接收数据(parts.slice(0,500))。

上述代码不起作用,除非我向Blob提供了整个收到的数据 - new Blob(parts)

此问题的解决方法是什么?

我感谢任何帮助。

0 个答案:

没有答案