大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说用node.js写一个简单的视频流服务器,支持点播「建议收藏」,希望能够帮助大家进步!!!
用node.js写一个简单的服务器,只使用了20行左右的代码,支持根据视频名字点播,视频文件和node.js文件放在同一目录下;
服务器代码如下:
代码语言:javascript复制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代码为
代码语言:javascript复制<!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