Skip to content

0.12.0 Beta 5

Pre-release
Pre-release
Compare
Choose a tag to compare
@blakeblackshear blakeblackshear released this 19 Jan 02:58
· 1957 commits to dev since this release
12d51d3

Major Changes for 0.12.0

❗❗Notice❗❗
I want to recognize @NickM-27 for all the contributions he made on this release and all the support he helps provide in the issues. If you have been considering sponsoring this project with either a one time contribution or a recurring contribution, I would request that you do so at his sponsors page.

Link to updated docs: https://deploy-preview-4055--frigate-docs.netlify.app/

Changes Since Beta 4

  • Fix early exit of Frigate container on restart and handle process exits more gracefully
  • Improve handling of embedded go2rtc config
  • Attempt to automatically populate WebRTC candidates for addon installs
  • Enable variable substitution for streams within the go2rtc config for env vars beginning with FRIGATE_
  • Use configured live view stream

BREAKING CHANGES

  • If using the Frigate-HomeAssistant Integration it will need to be updated to 4.0.0 beta01 to avoid breaking changes with Frigate 0.12
  • Changes have been made to the database, a backup of the database will need to be made before updating if you want to roll-back.
  • Some deployment approaches are overwriting the PATH environment value to an old value. If you see errors like ./run: line 7: exec: nginx: not found, then you need to stop overriding your PATH. This happens with both Proxmox LXC and Portainer (#3223 the database will need to be deleted to roll-back successfully.
  • The shm storage requirements have changed for 0.12, they will likely need to be recalculated and adjusted in the config, see the docs for how to calculate this new value. NOTE: This does not apply to addon users which are unable to configure this value.
  • More config validation checks have been added, it is possible that Frigate will fail to start due to an error that has been caught, the error will need to be fixed before frigate can start.
  • RTMP is now disabled by default and the role is not automatically added. It is highly recommend to move to the new RTSP streams via the bundled go2rtc.
  • Changes have been made to the way recordings segments are stored, external scripts which access the recordings file structure directly may be broken.

Retention limited by available storage

Frigate now limits its recordings to available storage, if the storage for recordings gets below 1 hour left then Frigate will delete the oldest recording segments to make room for newer ones. Frigate will also not fail if there is no space to save recordings.

go2rtc restreaming

go2rtc has been bundled inside Frigate. The configuration can be set directly inside Frigate's config file nested under the go2rtc section.

Due to many issues with RTMP, it is now deprecated in favor of using the bundled go2rtc to provide an RTSP stream. Streams configured in go2rtc can also be used by Frigate to reduce connections to the camera, see the restream docs for more info.

Birdseye restreaming is also now supported at rtsp://frigate_ip:8554/birdseye

NOTE: Port 8554 will need to be mapped in the docker run or docker compose file for the restream to be accessed outside the container.

New live stream options

The bundled go2rtc also enables new MSE and WebRTC live view options in the frontend which enable low-latency full-framerate live views that support audio.

NOTES:

The live view options are set in the Frigate WebUI for each camera individually.

New detector types

Frigate now supports new detector types along with the Google Coral TPU.

OpenVINO

The OpenVINO detector type runs an OpenVINO IR model on Intel CPU, GPU and VPU hardware. OpenVINO is supported on 6th Gen Intel platforms (Skylake) and newer. A supported Intel platform is required to use the GPU device with OpenVINO. The MYRIAD device may be run on any platform, including Arm devices. For detailed system requirements, see OpenVINO System Requirements

TensorRT

NVidia GPUs may be used for object detection using the TensorRT libraries. Due to the size of the additional libraries, this detector is only provided in images with the -tensorrt tag suffix. The TensortRT detector is able to run on x86 hosts that have an Nvidia GPU which supports the 11.x series of CUDA libraries. The minimum driver version on the host system must be >=450.80.02. Also the GPU must support a Compute Capability of 5.0 or greater. This generally correlates to a Maxwell-era GPU or newer, check the TensorRT docs for more info.

NOTE: The link in the docs is for the final release location, for the beta the script is located at https://raw.githubusercontent.com/blakeblackshear/frigate/dev/docker/tensorrt_models.sh

New system page

The Debug page has been renamed to System. It now includes much more information and links to easily get vainfo and ffprobe data.

Screen Shot 2023-01-16 at 15 12 37 PM

The GPUs section will show each GPU based on the hwaccel args, depending on the type of GPU different information is supported. For example Nvidia GPUs will have the name while others will be generic, also intel does not support memory usage. There is also a VAINFO button which will make it easier to diagnose hwaccel issues and verify that the hwaccel driver is being used correctly.

Each camera will have their own process CPU & memory usage so it will be easier to see which process is using those resources. There is also an FFPROBE button which will be helpful to understand what each stream is presenting and make it easier to include that in support issues.

The debug config has also been removed, the config can be copied using the config page in the WebUI.

New storage page

Frigate WebUI now has a built in storage page which shows the general usage for both storage and memory. It also shows a per-camera storage usage and stream bandwidth. This should make it a lot easier to have a general idea how much storage is being used by each camera.

Screen Shot 2023-01-16 at 15 16 48 PM

New logs page

Frigate WebUI now has built in logs, this will make copying and viewing logs much easier. Currently the logs are static meaning the page must be refreshed to view new logs.

Screen Shot 2023-01-02 at 09 50 54 AM

New config editor

Frigate WebUI now has a built in config editor with syntax highlighting and schema validation. This means that the config will be validated before it can be saved which will make yaml config much easier to manage.

NOTE: The previous docker-compose or docker CLI may have had the /config.yml set to :ro or read-only. That will need to be removed for the config editor to be able to save the new file.

Screen Shot 2023-01-02 at 09 48 49 AM

MQTT is now optional

Frigate no longer requires MQTT to function, MQTT is also setup asynchronously so errors will be more clear and frigate won't stop when mqtt is enabled but not setup correctly.

NOTE: MQTT is still required for the Frigate-HomeAssistant Integration

No changes are needed for existing users.

FFMpeg presets

FFMPEG presets for common configurations are now added, making the config cleaner and allowing the underlying args to be changed between releases without being a breaking change. It is highly recommended to update the configuration to use these presets.

See https://deploy-preview-4055--frigate-docs.netlify.app/configuration/ffmpeg_presets for more info on how these should be used.

Example: Enabling Audio In Recordings

before:

output_args:
    record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -c:a aac

after:

output_args:
  record: preset-record-generic-audio-aac

This also enables presets for hardware acceleration which will be used to further reduce CPU usage by using the GPU to optimize scaling and other workloads.

Improved events filters

Screen Shot 2023-01-02 at 09 21 31 AM

  • Multi Select Filters: Each filter now supports multi select so multiple cameras, labels, etc. can be viewed at the same time.
  • Favorited Event Filter: Events can now be filtered to only show favorited events along with the existing filters.

Recordings updates

Recording segments are now stored in UTC to avoid issues with DST. In order to avoid a breaking change, the path of the stored segments has changed from /media/frigate/recordings/%Y-%m/%d/%H-%s.mp4 to /media/frigate/recordings/%Y-%m-%d/%H-%s.mp4.

Recordings in the frontend are now shown in the timezone of the device viewing frigate, so the timezone set on the server running frigate is irrelevant.

No changes are needed for existing users.

What's Changed

New Contributors

Full Changelog: v0.11.1...v0.12.0-beta5

Images:

  • ghcr.io/blakeblackshear/frigate:0.12.0-beta5
  • ghcr.io/blakeblackshear/frigate:0.12.0-beta5-tensorrt