Skip to content

tauraamui/dragondaemon

Repository files navigation

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

About

Single binary media daemon to stream and persist IP camera feeds

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published