Skip to content

Simply download ONVIF RTSP streams directly from security cameras and save them to disk, with no fuss.

License

Notifications You must be signed in to change notification settings

dsaul/onvif-capture-rotate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

onvif-capture-rotate

There are many open source NVR systems out there, a lot of these have advanced features such as AI object detection, notifications, and more. These features however, can be very CPU intensive, and thus don't work well in a shared server environment.

This tool does one thing, it talks to a list of ONVIF cameras, gets the stream link, then begins capturing the video stream to disk. If disk space is getting low, it will delete the oldest segment for that camera to ensure that disk space doesn't run out.

This can be done in less than 1% cpu usage per camera, as compared to transcoding which take up to 25% cpu on a Ryzen 3950x.

Deploy with Docker

  1. Create a folder where you store your docker configuration, for example onvif-capture-rotate .

  2. Create the following docker-compose.yml file:

    version: '2.0'
    services:
      ovif-capture-rotate:
      container_name: ovif-capture-rotate
      image: maskawanian/ovif-capture-rotate:latest
      restart: always
      volumes:
    	- ./data-CCTV:/CCTV
    	- ./config.ini:/app/config.ini
    
  3. Create the following config.ini file:

    One of the following sections, per camera.

    [unique-camera-name]
    host = 
    username = 
    password = 
    port = 80
    alwaysKeepLatestCount = 5
    mediaDirectoryRoot = /CCTV
    segmentDurationSeconds = 3600
    

    The following setting keys can be set:

    • host The IP Address of the ONVIF compatible camera.
    • username The username configured on the camera.
    • password The password configured on the camera.
    • port The API HTTP port on the camera.
    • alwaysKeepLatestCount How many videos will be protected from deletion in low disk space situations.
    • mediaDirectoryRoot Where to store the stream captures. Can be the same for each camera, a sub folder will be created with the camera name.
    • segmentDurationSeconds How long should each segment should be, in seconds.

About

Simply download ONVIF RTSP streams directly from security cameras and save them to disk, with no fuss.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published