nodejs mp4无法正确加载

时间:2017-06-20 19:45:36

标签: node.js video video-streaming html5-video mp4

我正在创建一个节点js服务器,以显示我从电视上的dvd中删除的电影。当然,您必须登录,并且只能在我们的本地网络上使用它。我遇到了一个小问题,因为它在我做的时候工作正常

app.use("/test", express.static('movies'));

然后转到http://localhost:3000/test/movie_example.mp4,这很好但我无法真正控制用户是否已登录,所以我试过

app.get("/test", function(req, res){
    var ip = req.connection.remoteAddress;
    if(login.isSignedin(ip)){
        res.header("content-type", "video/mp4");
        res.sendFile(__dirname + "/movies/" + req.query.movie + ".mp4");
    }
    res.send("not logged in");
});

然后键入http://localhost:3000/test?movie=example_movie,但随后出现了一个帧,电影需要永久缓冲。在我的眼里,那两个关闭完全相同的事情。

提前,谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

在第一种情况下,使用快速静态服务,我认为如果您查看浏览器检查器,您会发现服务器和浏览器一起工作以请求并以小块发送视频文件。

这允许浏览器在下载整个文件之前开始播放。

在第二种情况下,您只需将整个视频文件一次性发送到浏览器,这将花费更长的时间。同样,如果您查看浏览器检查器,您应该能够看到这一点。