通过Nodejs搭建流媒体服务器

本文详细介绍了如何使用Nodejs和Node-Media-Server模块搭建流媒体服务器的过程,包括项目初始化、配置参数、运行服务器,以及如何使用FFmpeg进行推流和通过H5客户端进行拉流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.
简易流媒体服务.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值