Skip to content

Enables Homebridge access to Swann NVR cameras via RTSP

License

Notifications You must be signed in to change notification settings

SupImDos/homebridge-camera-swann

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Enables Homebridge access to Swann NVR cameras via RTSP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%