dragondaemon

module
v0.0.0-...-49f6bda Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2023 License: MIT

README

Dragon Daemon - An RTSP based streaming server

buildactionstatusbadge testsandcoverageactionstatusbadge Go Report Card codecov

Connect to multiple RTSP based streams (IP cameras) and save timestamped clips to a local directory as specified within the configuration. Future features include: motion detection, facial detection, object categorization, zones, playback.

terminalexample

Example config.json file

{
    "debug": true,
    "cameras": [
        {
            "disabled": false,
            "title": "Back2",
            "fps": 30,
            "address": "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov",
            "seconds_per_clip": 2,
            "persist_location": "/Users/adam/Movies/clips"
        }
    ]
}
Time series video documentation

Found here

Getting Started

At this time this project will need to be built before being able to run.

Prerequisites
  • Go
  • GoCV library which has additional setup instructions
Installing

Install Go

Download this repo via go get

go get github.com/tauraamui/dragondaemon

Run the setup process for GoCV to install and build OpenCV deps on your host

cd $GOPATH/gocv.io/x/gocv
make install

Running the tests

Running the tests just as normal

go test -v ./...

Running

Run the main.go or build and run compiled version. By default it will look for a local dd.config file.

Compile

go build -o dragondaemon

Run

./dragondaemon

Deployment

You can install the built binary as a service by running

./dragond install

Run it via

./dragond start

Stop it via

./dragond stop

Check the status with

./dragond status

Uninstall with

./dragond remove

Built With

  • Go mod - Dependency Management
  • logging - Logging library
  • GoCV - Go wrapper for OpenCV

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Adam Prakash Stringer - Initial work - tauraamui

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Many thanks to the GoCV team without whom this would not have been possible
  • My wife for putting up with me spending evenings on this instead of with her

Directories

Path Synopsis
api
cmd
internal
videotest
Code generated for package main by go-bindata DO NOT EDIT.
Code generated for package main by go-bindata DO NOT EDIT.
pkg
broadcast
Package broadcast implements multi-listener broadcast channels.
Package broadcast implements multi-listener broadcast channels.
log
xis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL