我正在设置一个使用 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);