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 流媒体服务器。

  1. 新建一个空白的文件夹命名nms
  2. 新建app.js
  3. 安装node-media-server
  4. 启动服务
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在线测试: