NodeMediaServer

简述

NodeMediaServer是基于Node.js开发的开源流媒体服务端。凭借Nodejs的跨平台特性,真正实现跨平台流媒体服务端。不管你的服务器是Windows,Linux,FreeBSD,都能完美兼容。即使是ARM-Linux,也能出色运行。无需搭建编译环境,真正达到即开即用。

NodeMediaServer利用Nodejs异步事件驱动的模型,搭建了高性能的RTMP协议处理机制,单机高并发完全没有性能瓶颈。

NodeMediaServer支持市面上所有标准RTMP协议推流,同时扩展了视频协议,增加了对H.265视频的支持,让您的带宽占用更低,并发量更高。GOP_CACHE功能保证了每次客户端都能第一时间拿到关键帧信息,并立即开始解码播放,秒开直播流。

NodeMediaServer除了提供标准的RTMP协议拉流以外,还支持将RTMP转流为Http-FLV, Websocket-FLV, HLS, DASH等直播协议,让您的选择更加广泛。同时,当转流为HLS,DASH时,能自动判断音频编码是否为AAC,否则自动转码为AAC音频流。保证从web_flash推流,音频也能完整的提供出HLS,DASH流。

NodeMediaServer支持将RTMP直播视频流保存为标准MP4文件,提供HTTP协议的录像回放的功能。MP4是Web和Mobile原生API标准支持度最高的格式。

NodeMediaServer支持丰富的流事件回调,您可以自行监听流的各个状态,进行事件操作。

NodeMediaServer支持过期时间戳+流地址签名式鉴权,保护推流安全,防盗链。

安装方法

1.下载包

npm install node-media-server

2.创建一个应用实例 app.js

const NodeMediaServer = require('node-media-server');
const config = {
  rtmp: {
    port: 1935,
    chunk_size: 60000,
    gop_cache: true,
    ping: 60,
    ping_timeout: 30
  },
  http: {
    port: 8000,
    allow_origin: '*'
  }
};

var nms = new NodeMediaServer(config)
nms.run();

3.运行服务

node app.js

只需三步,便搭建了基本的RTMP, HTTP-FLV流媒体服务器。

高级用法

请访问 https://github.com/illuspas/Node-Media-Server

或者联系客服获得技术支持

QQ: 281269007

EMail: service@nodemedia.cn