obs+node-media-server+flv.js搭建直播流媒体服务器
实现思路
- 下载obs软件,进行视频的录制
- 通过node-media-server开启一个服务,在obs中推流到该服务器
- 通过flv.js配合html5的video标签实现node-media-server中视频源的播放
一、node-media-server开启服务
Node-Media-Server 是一个 Node.js 实现的 RTMP/HTTP/WebSocket/HLS/DASH 流媒体服务器。
- 新建一个空白的文件夹命名nms
- 新建app.js
- 安装node-media-server
- 启动服务
mkdir nms cd nms npm install node-media-server vi app.js
app.js内容:
const NodeMediaServer = require('node-media-server'); const config = { rtmp: { port: 553, // 接收推流端口 chunk_size: 60000, gop_cache: true, ping: 30, ping_timeout: 60 }, http: { port: 8000, allow_origin: '*' } }; var nms = new NodeMediaServer(config) nms.run();
启动服务:
node app.js
开启成功:
二、obs开启推流
1、添加媒体源(本人使用本地文件.mp4)
2、配置推流地址(rtmp://localhost:553/myapp/mystream)
三、flv.js(web前端播放器,也可以使用其他:nodeplayer-js、EasyMedia-ui)
拉流地址:http://localhost:8000/myapp/mystream.flv
flv.js是来自Bilibli的开源项目。它解析FLV文件喂给原生HTML5 Video标签播放音视频数据,使浏览器在不借助Flash的情况下播放FLV成为可能。具体的介绍请自行google哈,继续刚才的项目
1、nodeplayer在线测试网址: https://www.nodemedia.cn/uploads/nodeplayer_rtmp.html
2、flv.js在线测试网址:http://bilibili.github.io/flv.js/demo/
3、index.html:
flv.js demo
flv.js在线测试:
nodeplayer.js在线测试: