Node-Media-Server 是一个 Node.js 实现的 RTMP/HTTP/WebSocket/HLS/DASH 流媒体服务器。
流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。
特性
- 跨平台支持 Windows/Linux/Unix
- 支持的音视频编码 H.264/H.265/AAC/SPEEX/NELLYMOSER
- 支持缓存最近一个关键帧间隔数据,实现 RTMP 协议秒开
- 支持 RTMP 直播流转 LIVE-HTTP/WS-FLV 流,支持 NodePlayer.js 播放
- 支持星域 CDN 风格的鉴权
- 支持事件回调
- 支持 https/wss 加密传输
- 支持服务器和流媒体信息统计
- 支持 RTMP 直播流转 HLS,DASH 直播流
- 支持 RTMP 直播流录制为 MP4 文件并开启 faststart
- 支持 RTMP/RTSP 中继
- 支持 API 控制中继
- 支持实时多分辨率转码
npm 定制开发 (推荐)
mkdir nms
cd nms
npm install node-media-server
vi app.js
const NodeMediaServer = require('node-media-server');
const config = {
rtmp: {
port: 1935,
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