Skip to content

Cameras Config

Seyd edited this page Mar 18, 2021 · 10 revisions

Cameras

Example:

"cameras": [
  {
    "name": "DLink One",
    "manufacturer": "DLink",
    "model": "DLink 123",
    "serialNumber": "12345",
    "firmwareRevision": "1.0",
    "motion": true,
    "doorbell": true,
    "switches": true,
    "motionTimeout": 0,
    "videoConfig": {
      "source": "-i rtsp://192.168.178.1/onvif1",
      "stillImageSource": "-i rtsp://192.168.178.1/onvif1",
      "maxStreams": 2,
      "maxWidth": 1280,
      "maxHeight": 720,
      "maxFPS": 30,
      "socketPort": 8100,
      "debug": false
    },
    "mqtt": {
      "motionTopic": "sricam/motion",
      "motionMessage": "ON",
      "motionResetTopic": "sricam/motion",
      "motionResetMessage": "OFF"
    }
    "rekognition": {
      "active": true,
      "confidence": 90,
      "labels": [
        "Human",
        "Face",
        "Person"
      ]
    }
  }
]

General

Attributes Required Usage Default Options
name X Set the camera name for display in the Home app.
manufacturer Set the manufacturer name for display in the Home app. Homebridge
serialNumber Set the serial number for display in the Home app. SerialNumber
firmwareRevision Set the firmware revision for display in the Home app. current plugin version
motion Exposes the motion sensor for this camera. This can be triggered with dummy switches, MQTT messages, or via HTTP, depending on what features are enabled in the config. false true/false
doorbell Exposes the doorbell device for this camera. This can be triggered with dummy switches, MQTT messages, or via HTTP, depending on what features are enabled in the config. false true/false
switches Enables dummy switches to trigger motion and/or doorbell, if either of those are enabled. When enabled there will be an additional switch that triggers the motion or doorbell event. false true/false
motionTimeout The number of seconds after triggering to reset the motion sensor. Set to 0 to disable resetting of motion trigger for MQTT or HTTP. 1
unbridge Bridged cameras can cause slowdowns of the entire Homebridge instance. If unbridged, the camera will need to be added to HomeKit manually. false true/false

videoConfig

Attributes Required Usage Default Options
source x FFmpeg options on where to find and how to decode your camera's video stream. The most basic form is -i followed by your camera's URL.
stillImageSource If your camera also provides a URL for a still image, that can be defined here with the same syntax as source. If not set, the plugin will grab one frame from source.
returnAudioTarget (EXPERIMENTAL - WIP) The FFmpeg output command for directing audio back to a two-way capable camera. This feature is still in development and a configuration that works today may not work in the future. false true/false
maxStreams The maximum number of streams that will be allowed at once to this camera. 2
maxWidth The maximum width used for video streamed to HomeKit. If set to 0, the resolution of the source is used. If not set, will use any size HomeKit requests.
maxHeight The maximum height used for video streamed to HomeKit. If set to 0, the resolution of the source is used. If not set, will use any size HomeKit requests.
maxFPS The maximum frame rate used for video streamed to HomeKit. If set to 0, the framerate of the source is used. If not set, will use any frame rate HomeKit requests.
maxBitrate The maximum bitrate used for video streamed to HomeKit, in kbit/s. If not set, will use any bitrate HomeKit requests.
forceMax If set, the settings requested by HomeKit will be overridden with any 'maximum' values defined in this config. false true/false
vcodec Set the codec used for encoding video sent to HomeKit, must be H.264-based. You can change to a hardware accelerated video codec with this option, if one is available. libx264
audio Enables audio streaming from camera. false true/false
packetSize If audio or video is choppy try a smaller value, should be set to a multiple of 188. 1316
mapvideo Selects the stream used for video. FFmpeg automatically selects a video stream
mapaudio Selects the stream used for audio. FFmpeg automatically selects an audio stream
videoFilter Comma-delimited list of additional video filters for FFmpeg to run on the video. If 'none' is included, the default video filters are disabled.
encoderOptions Options to be passed to the video encoder. -preset ultrafast -tune zerolatency
debug Includes debugging output from the main FFmpeg process in the Homebridge log. false true/false
debugReturn Includes debugging output from the FFmpeg used for return audio in the Homebridge log. false true/false

mqtt

Attributes Required Usage Default Options
motionTopic The MQTT topic to watch for motion alerts. The topic (prefix/suffix) should be unique, it will be used to assign the motion detected message to the desired camera.
motionMessage The message to watch for to trigger motion alerts.
motionResetTopic The MQTT topic to watch for motion resets. The topic (prefix/suffix) should be unique, it will be used to assign the reset motion message to the desired camera.
motionResetMessage The message to watch for to trigger motion resets.
doorbellTopic The MQTT topic to watch for doorbell alerts. The topic (prefix/suffix) should be unique, it will be used to assign the doorbell message to the desired camera.
doorbellMessage The message to watch for to trigger doorbell alerts. Will use the name of the camera if blank.

rekognition

Attributes Required Usage Default Options
active Enables image detection. (AWS credentials nees to be setted up in config.json to use this feature!)
confidence Minimum confidence that Amazon Rekognition image must have in the accuracy of the detected label.
labels Image label.