Node RTSP Module for homebridge-camera-ui

Usage no npm install needed!

<script type="module">
  import seydxNodeRtspStream from 'https://cdn.skypack.dev/@seydx/node-rtsp-stream';



Stream any RTSP stream and output to websocket for consumption by jsmpeg. HTML5 streaming video! (Requires ffmpeg)


$ npm install node-rtsp-stream

On server:

Stream = require('node-rtsp-stream')
stream = new Stream({
  name: 'name',
  streamUrl: 'rtsp://',
  wsPort: 9999,
  ffmpegOptions: { // options ffmpeg flags
    '-stats': '', // an option with no neccessary value uses a blank string
    '-r': 30 // options with required values specify the value after the key

On client:

    <canvas id="canvas"></canvas>

<script type="text/javascript" src="jsmpeg.min.js"></script>
<script type="text/javascript">
    player = new JSMpeg.Player('ws://localhost:9999', {
      canvas: document.getElementById('canvas') // Canvas should be a canvas DOM element

For more information on how to use jsmpeg to stream video, visit https://github.com/phoboslab/jsmpeg

Please note that framerate from cameras must be greater than or equal to 15fps for mpeg1 encoding, otherwise ffmpeg errors will prevent video encoding to occur. If you have a camera with advanced configuration options, make sure it streams video at a recommended 25fps.