A Node.js implementation of RTMP Server
- Supports only RTMP protocol.
- Supports only H.264 video and AAC audio.
npm install --save rtmp2
const RTMP = require('rtmp2'); const rtmpServer = RTMP.createServer(); rtmpServer.on('client', client => { client.on('command', command => { // console.log(command.cmd, command); }); client.on('connect', () => { console.log('connect', client.app); }); client.on('play', ({ streamName }) => { console.log('PLAY', streamName); }); client.on('publish', ({ streamName }) => { console.log('PUBLISH', streamName); }); client.on('stop', () => { console.log('client disconnected'); }); }); rtmpServer.listen(1935);
You can now publish streams to rtmp://localhost:1935/live/mytv and use any unique stream key.
~$ ffmpeg -f avfoundation -i "1" -vcodec libx264 -f flv rtmp://localhost:1935/live/mytv
The stream will then be available at rtmp://localhost:1935/live/mytv.
This project is under MIT license.