1

我正在设置一个使用 hapi js 框架构建的节点 js 服务器。我创建了一个端点,它从我的服务器读取视频文件,然后将数据块发送回客户端。我在我的客户端上使用原生反应。我想要从我的 nodejs 服务器到我的移动应用程序的无缝视频流。

我尝试读取文件并将其发送回客户端,但这需要时间,因为它首先下载所有数据然后将其发送回客户端。

const { filename } = req.params;
const readStream = fs.createReadStream(`uploads/videos/${filename}.mp4`);
  readStream.on('open',function(){
    //start to read de video 
  console.log("start..");
  });//open

  readStream.on('data',function(chunk){
  console.log("loading...", chunk)
  });//loading

  readStream.on("end",function(){
  console.log("ready");
  });//end 

  readStream.on('error', function (err){
  console.log(err);
  });
  return h.response(readStream)
    .type('video/mp4')
    .header('Content-type', 'video/mp4')
    .header("Accept-Ranges", "bytes")
    .header('Content-length', readStream.length);
4

0 回答 0