homebridge-camera-swann

1.0.4 • Public • Published

Homebridge Camera Swann

npm npm isc license

Enables Homebridge access to Swann NVR cameras via RTSP

This is a fork of the popular: homebridge-camera-ffmpeg

Installation

  • Install via Homebridge Web UI

    • Search for Camera Swann on the plugin screen of config-ui-x .
    • Click install.
  • Basic Installation

    • Install this plugin using: npm install -g homebridge-camera-swann
    • Edit config.json and add the camera.
    • Run Homebridge
    • Add extra camera accessories in Home app. The setup code is the same as homebridge.
  • Advanced Installation

    • Warning: This will install the latest cutting edge development version (may not work!).
    • Install: npm install -g --save https://github.com/SupImDos/homebridge-camera-swann/tarball/master
    • Edit config.json and add the camera.
    • Run Homebridge
    • Add extra camera accessories in Home app. The setup code is the same as homebridge.

Configuration

Config.json Example

{
    "platform": "Camera-Swann",
    "cameras": [
        {
            "name": "Camera Name",
            "manufacturer": "Camera Brand",
            "model": "Camera Model",
            "serialNumber": "Camera Serial",
            "firmwareRevision": "Camera Firmware Version",
            "videoConfig": {
                "mainStream": "-rtsp_transport tcp -i rtsp://[USER]:[PASS]@[HOST]:[PORT]/ch0[X]/0",
                "subStream": "-rtsp_transport tcp -i rtsp://[USER]:[PASS]@[HOST]:[PORT]/ch0[X]/1",
                "maxStreams": 1,
                "bitrateThreshold": 299,
                "videoPacketSize": 1378,
                "audioPacketSize": 188,
                "mapvideo": "0:v",
                "mapaudio": "0:a",
                "audio": true,
                "debug": false
            }
        }
    ]
}

Swann NVR/DVR Configuration Example

Main Stream

Sub Stream

Why use this plugin?

Copy instead of Transcode

The main advantage of this plugin is that it uses ffmpeg to copy the H.264 stream, without the need to transcode it.

Bitrate Threshold

The second advantage of this plugin is the ability to set a bitrateThreshold. This bitrate threshold allows the plugin to select the mainStream or subStream based on the video bitrate requested by HomeKit.

Examples:

  1. Scenario 1 (At home)

    • bitrateThreshold=299
    • iPhone is on local network, requests a stream with video bitrate of 299kbps
    • Requested bitrate is >= bitrateThreshold
    • Camera-Swann selects Main Stream to restream over SRTP
  2. Scenario 2 (Away from home)

    • bitrateThreshold=299
    • iPhone is on 4G, requests a stream with video bitrate of 132kbps
    • Requested bitrate is < bitrateThreshold
    • Camera-Swann selects Sub Stream to restream over SRTP

Readme

Keywords

Package Sidebar

Install

npm i homebridge-camera-swann

Weekly Downloads

11

Version

1.0.4

License

ISC

Unpacked Size

43.1 kB

Total Files

12

Last publish

Collaborators

  • supimdos