github roflcoopter/viseron v1.8.0
1.8.0 - Docker revamp

latest releases: v3.0.0b8, v3.0.0b7, v3.0.0b6...
3 years ago

1.8.0 - Docker revamp

This release brings a huge revamp to the Docker containers.
This was a very big change and some bugs might still be present.
There is also experimental support for the RPi4 which might not work as expected in this first version.
The support for RPi4 will improve in the coming version, but i need your help with testing and reporting bugs.

Breaking changes

  • Docker image names have changed according to this table.
    Note that roflcoopter/viseron is now a multiarch image which means you dont need to pick between the images yourself, unless you want CUDA support.

    Old New
    roflcoopter/viseron roflcoopter/amd64-viseron
    roflcoopter/viseron-cuda roflcoopter/amd64-cuda-viseron
    roflcoopter/viseron-vaapi Removed, same as roflcoopter/amd64-viseron
    roflcoopter/viseron-rpi3 roflcoopter/rpi3-viseron
    N/A roflcoopter/aarch64-viseron
  • port is now required for substream

Changes and new Features

  • New config option require_motion for labels.
    If set to true, the recorder will stop when motion is no longer detected, even if the object still is.
    This is useful to avoid never ending recordings of stationary objects, such as a car on a driveway.

  • Complete rewrite of all Dockerfiles(!).
    Multistage builds are now used extensively which dramatically reduces the size of the containers.
    All containers are now built on Azure Pipelines which means i no longer have to build them all locally(!!).
    Cross-building is done using Balenalibs baseimages, which means we now have (experimental) support for the RPi4(!!!).
    This new way of working with containers mean i can easily support different hardware, such as the Jetson Nano in the near future.
    Multiarch images are also in play, which means you dont need to pull different images based on your architecture, unless you want a specific one, like the amd64 CUDA version. Closes #1, closes #66

  • Static MJPEG streams can now be configured, which provides better performance due to processing only happening once
    See the new section on Static MJPEG Streams in the README for more information. Closes #23

  • An MJPEG stream is now served for each camera.
    A number of query parameters are available to control resolution, what is drawn on the frames etc.
    See the new section in the README for more information. Closes #23

  • stream_format and port is now supported for substream. Closes #112

  • Viseron no longer runs as root in the containers. You can now set PUID and PGID as environment variables to control the user.
    If you are using docker-compose it might look like this:

    version: "2.4"
    
    services:
      viseron:
        image: roflcoopter/viseron:latest
        container_name: viseron
        volumes:
          - <recordings path>:/recordings
          - <config path>:/config
          - /etc/localtime:/etc/localtime:ro
        environment:
          - PUID=1000
          - PGID=1000
  • Pin libedgetpu-max to avoid version mismatch

  • New config option save_unknown_facesfor dlib face recognition.
    If set, unknown faces will be saved in a folder named unknown next to your regular faces folders.
    These can then be manually moved to the folder of the correct person to improve accuracy. Closes #90, Closes #96

  • Audio is now recorded by default if the camera supports it. If you want you can specify the audio codec with audio_codec under recorder. This feature is experimental and i need some testers on it.

  • Default to YOLOv4 instead of YOLOv4-tiny. You can go back yo using YOLOv4-tiny by changing model_path.

Fixes

  • The labels file was corrupted in the amd64* images, so labels of objects made no sense.
  • Better reporting of errors when loading EdgeTPU, fixes #76

Docker images will be on Docker Hub shortly

Don't miss a new viseron release

NewReleases is sending notifications on new releases.