通过Nodejs搭建流媒体服务器
1、借助 Node-Media-Server 搭建自己的流媒体服务器
通过查看该模块Github地址了解详细介绍
- 新建项目,在项目中安装模块。执行下列代码:
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();
- 运行项目。
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>
这样就可以看到直播网页了。