用node.js写一个简单的视频流服务器,支持点播

用node.js写一个简单的服务器,只使用了20行左右的代码,支持根据视频名字点播,视频文件和node.js文件放在同一目录下;

服务器代码如下:

var express = require('express');
var pg = require('pg');
var app = express();
var fs = require('fs');

app.get('/video', function (req, res) {
    var time = new Date();
    var videoName = req.query.name;
    console.log("-------点击查询下载" + time.getFullYear() + "/" + time.getMonth() + "/" + time.getDate() + "/" + time.getHours() + "/" + time.getMinutes() + "/" + time.getSeconds() + "-------");
    res.writeHead(200, {'Content-Type': 'video/mp4'});
    var rs = fs.createReadStream(videoName + '.mp4');
    rs.pipe(res);

    rs.on('end', function () {
        res.end();
        console.log('end call');
    });
});

var server = app.listen(8081, function () {

    var host = server.address().address;
    var port = server.address().port;

    console.log("应用实例,访问地址为 http://%s:%s", host, port);

});
测试播放html代码为
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>视频播放</title>
</head>
<body>
<video width="320" height="240" controls="controls">
    <source src="http://localhost:8081/video?name=123" type="video/mp4">
</video>
</body>
</html>
结果为:


视频测试文件为123.mp4

猜你喜欢

转载自blog.csdn.net/gisuuser/article/details/79140045