Setup

TheMagicBirdCam.de is a about wintertime in Mecklenburg-West Pomerania (dark, cold and sometimes boring) and combining free, open-source docker containers and doing some system integration with it. How does it work?

The live stream from the camera is send via wifi to Frigate NVR. Frigate supports fast object detection using the capabilities of Googles Coral Edge TPU.

Everytime Frigate “sees” a bird (or cat or dog or sometime a racoon, since we live on the countryside, where everything is possible in a birdfeeder) it sends a message to Mosquitto.

Mosquitto is giving the event “there is a bird” to Node Red (the swiss-army-knife for home automation) and do some magic: The picture of this event will be send to Telegram via a telegram-bot.

With Python and a Tensorflow bird classifcation modell it trys to find out what kind of bird is in this picture. If the classification has an accurracy of min 75% it gives the Telegram message a capition with the name of the bird.

Also the Node Red Flow ask Wikipedia via api, if an articel for this bird is present. If so, the url of this articel will also be added to telegram image caption.

On a Raspberry Pi we go to the public Internet via Nginx Proxy Manager for safety and may later for loadbalancing reasons.

Restreamer receives the livestream of the camera from Frigate and provides a nice rmtp video player for the webpage. A simple WordPress is serving this page.

All used software is “dockerized” in containers using docker compose. Basesystems are powered by Debian Linux. Videostreams use Nvidia Cuda for encoding on GPU