Skip to content

Releases: tropicoo/hikvision-camera-bot

Release 2.0

17 Feb 21:37

Choose a tag to compare

Release info

Version: 2.0

Release date: February 17, 2025

Important

Added Timelapse camera config section. This is a breaking change.
If you have a previous configuration file, you need to update it.

Check updated template in the config_template.json file.

New features

Timelapse camera feature.

Each camera can be configured to take a picture at a specific interval,
save the image to a specific folder and create a timelapse video.

Camera supports multiple timelapse configurations if needed.

{
  "timelapse": [
    {
      "enabled": true,                            # Enable timelapse feature (true/false)
      "name": "Kitchen view",                     # Timelapse name
      "start_hour": 7,                            # Start hour (24h format)
      "end_hour": 18,                             # End hour (24h format)
      "snapshot_period": 10,                      # Camera snapshot period in seconds
      "video_length": 120,                        # Final timelapse video length in seconds
      "video_framerate": 30,                      # Timelapse video framerate
      "channel": 102,                             # Camera channel to take snapshots from
      "timezone": "Europe/Kyiv",                  # Server timezone
      "tmp_storage": "/data/timelapses",          # Temporary storage for snapshots
      "storage": "/data/timelapses",              # Final storage for timelapse video and optionally for snapshots
      "keep_stills": true,                        # Keep snapshots after timelapse video creation (true/false)
      "ffmpeg_log_level": "error",                # FFMPEG log level
      "image_quality": 30,                        # FFMPEG video codec image quality (-crf)
      "video_codec": "libx264",                   # FFMPEG video codec (libx264, libx265, vp9)
      "pix_fmt": "yuv420p",                       # FFMPEG pixel format (yuv420p, yuv422p, yuv444p)
      "custom_ffmpeg_args": "-preset ultrafast",  # Custom FFMPEG arguments
      "nice_value": 19,                           # FFMPEG process nice value (integer or null to disable
      "threads": 1                                # FFMPEG process threads (integer or null to disable)
    }
  ]
}

Misc

Use pydantic-settings for .env file validation.

Release 1.9

09 Feb 22:05

Choose a tag to compare

Release 1.9

Release 1.8

06 May 21:48

Choose a tag to compare

Release info

Version: 1.8

Release date: May 6, 2023

Important

  1. Add a new config variable nvr to config.json for each of your cameras.
  2. This update can break things. Open a new issue if you find something.

New features

  1. Added new config variable nvr for your camera. Check config-template.json. It's
    for a case when your camera(s) is behind the NVR host so detecting alert (alarm)
    event types requires the available NVR channel name for the camera since the NVR
    Alert Stream will produce events for all cameras, and it needs to be properly parsed.

    "nvr": {
      "is_behind": false,
      "channel_name": ""
    }

Misc

N/A

Release 1.7

18 Oct 21:24

Choose a tag to compare

Release info

Version: 1.7

Release date: October 19, 2022

Important

  1. Add a new config variable to config.json for each of your cameras.

New features

  1. Added new authentication config variable type in auth section.
    Could be one of basic, digest, or digest_cached. Default is digest_cached.
"auth": {
  "user": "dummy-user",
  "password": "dummy-password",
  "type": "digest_cached"
}

Misc

N/A

Release 1.6

17 Oct 23:25

Choose a tag to compare

Release info

Version: 1.6

Release date: October 18, 2022

Important

  1. Full reconfiguration is required (or manual editing of your current config.json config file)

New features

  1. Added new boolean config variable send_text to control sending an alert text message for every type of detection
...
      "alert": {
        "motion_detection": {
          ...
          "send_text": true
        },
        "line_crossing_detection": {
          ...
          "send_text": true
        },
        "intrusion_detection": {
          ...
          "send_text": true
        }
      },
...
  1. Added a new config section picture to control which channel is used for taking pictures. Useful when several cameras are accessible through one IP address or host.
...
      "picture": {
        "on_demand": {
          "channel": 101
        },
        "on_alert": {
          "channel": 101
        }
      },
...

Misc

N/A

Release 1.5.2

17 Oct 21:01

Choose a tag to compare

Release info

Version: 1.5.2

Release date: October 17, 2022

Important

  1. Added required port config variable for camera API section. Defaults to 80 in the config-template.json template. Just add it to your existing config and you're good.
  ...
  "camera_list": {
    "cam_1": {
      "api": {
        "host": "http://192.168.1.1",
        "port": 80,
        ...

New features

N/A

Misc

N/A

Release 1.5

22 Sep 18:08
1272528

Choose a tag to compare

Release info

Version: 1.5

Release date: September 22, 2022

Important

  1. This is bugfix and maintenance release (fixes bug #48 with new ffmpeg 5).

New features

N/A

Misc

  1. Bumped packages in requirements.txt to their latest versions.
  2. Added dependabot for scanning for the latest package versions.
  3. SRS dev team now provides Docker images for all platforms, no need to compile.
  4. Bot and SRS configs are now mounted in volumes.

Release 1.4

29 Apr 22:46
a7108c0

Choose a tag to compare

Release info

Version: 1.4

Release date: April 30, 2022

Important

  1. Bot needs full re-configuration (again) due to changed config templates with new items.
    Back up your config files and perform a clean setup.

New features

  1. Introduced three new config variables chat_users, alert_users and
    startup_message_users to replace allowed_user_ids for more granular access setup:
    • chat_users - user/group IDs which can interact with bot. Cannot be empty.
    • alert_users - user/channel/group IDs where alerts will be sent if turned on. Cannot be empty.
    • startup_message_users - user/channel/group IDs where startup message is sent. Can be empty to remain silent.
  2. Introduced new per camera config variable group and command /groups to group cameras.
  3. Added new commands /version, /ver, /v to check the latest bot version.

Misc

  1. Bumped Python version from 3.9 to 3.10 in Dockerfile.
  2. If a text message from the bot exceeds max size it will be split and sent in smaller chunks.
  3. SRS re-stream is now disabled by default in the config template.

Release 1.3

23 Apr 00:18

Choose a tag to compare

Release info in releases/release_1.3.md.