通过Nodejs搭建流媒体服务器
1. 借助 Node-Media-Server 搭建自己的流媒体服务器
通过查看该模块Github地址了解详细介绍
1. 新建项目,在项目中安装模块。执行下列代码:
npm init --yes
npminstallnode-media-server --save
2. 在项目中新建一js文件。复制粘贴下列代码:
const{NodeMediaServer} = require('node-media-server');
constconfig = {
rtmp:{ port:1935, chunk_size:60000, gop_cache:true, ping:60, ping_timeout:30 },
http:{ port:8000, allow_origin:'*' }
};
varnms = newNodeMediaServer(config) nms.run();
3. 运行项目。
node mediaServer.js //js名字
2. 推流
推流工具:OBS(可以用于 win、linux、Mac)、RTMP 推流摄像机、FFmpeg使用推流。
我采用的是FFmpeg实现推流。FFmpeg在ffmpeg使用指令实现推流实现直播流程中已经讲述,这里不再赘述。
3. 拉流
拉流工具可以采用:VlC(mac、linux、win 、手机)。也可以采用H5客户端
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script src="https://cdn.bootcss.com/flv.js/1.4.0/flv.min.js"></script>
<video id="videoElement" style="width: 80%;" controls="controls"></video>
<script>
if (flvjs.isSupported()) {
var videoElement = document.getElementById('videoElement');
var flvPlayer = flvjs.createPlayer({
type: 'flv',
url:'http://172.19.9.169:8000/live/home.flv'//你的地址
});
flvPlayer.attachMediaElement(videoElement);
flvPlayer.load();
flvPlayer.play();
}
</script>
</body>
</html>
参考地址:
nodemedia.
Node-Media-Server.
简易流媒体服务.