Skip to content

Latest commit

 

History

History

birdnet-go

Home assistant add-on: Birdnet-Go

Donate Donate

Version Ingress Arch

Codacy Badge GitHub Super-Linter Builder

Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!

Stargazers repo roster for @alexbelgium/hassio-addons

downloads evolution

About

BirdNET-Go is an AI solution for continuous avian monitoring and identification developed by @tphakala

This addon is based on their docker image.

Configuration

Install, then start the addon a first time. Webui can be found at http://homeassistant:8080. You'll need a microphone : either use one connected to HA or the audio stream of a rstp camera.

The audio clips folder can be stored on an external or SMB drive by mounting it from the addon options, then specifying the path instead of "clips/". For example, "/mnt/NAS/Birdnet/"

Options can be configured through three ways :

  • Addon options
ALSA_CARD : number of the card (0 or 1 usually), see https://github.com/tphakala/birdnet-go/blob/main/doc/installation.md#deciding-alsa_card-value
TZ: Etc/UTC specify a timezone to use, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
COMMAND : realtime --rtsp url # allows to provide arguments to birdnet-go
  • Config.yaml Additional variables can be configured using the config.yaml file found in /config/db21ed7f_birdnet-go/config.yaml using the Filebrowser addon

  • Config_env.yaml Additional environment variables can be configured there

Installation

The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.

  1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)

    Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.

  2. Install this add-on.

  3. Click the Save button to store your configuration.

  4. Set the add-on options to your preferences

  5. Start the add-on.

  6. Check the logs of the add-on to see if everything went well.

  7. Open the webUI and adapt the software options

Integration with HA

Home Assistant Integration instructions are found here, Birdnet-Go Addon: Home Assistant Integration

Setting up a RTSP Source using VLC

VLC opens a TCP port but the stream is udp. Because of this will need to configure Birdnet-Go to use udp. Adjust the config.yaml file to udp or use the birdnet-go command line option:

--rtsptransport udp --rtsp rtsp://192.168.1.21:8080/stream.sdp

Linux instructions

Run vlc without an interface using one of these commands:

# This should work for most devices
/usr/bin/vlc -I dummy -vvv alsa://hw:0,0 --no-sout-all --sout-keep --sout '#transcode{acodec=mpga}:rtp{sdp=rtsp://:8080/stream.sdp}'

# Try this if the first command does not work
/usr/bin/vlc -I dummy -vvv alsa://hw:4,0 --no-sout-all --sout-keep --sout '#rtp{sdp=rtsp://:8080/stream.sdp}'

Run arecord -l to get microphone hardware info

**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC3220 Analog [ALC3220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: S7 [SteelSeries Arctis 7], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Nano [Yeti Nano], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

hw:4,0 = card 4: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]

Systemd service file example. Adjust the user:group accordingly. If you want to run as root, you will likely need to run vlc-wrapper instead of vlc.

[Unit]
Description=VLC Birdnet RTSP Server
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
StandardOutput=journal
ExecStart=/usr/bin/vlc -I dummy -vvv alsa://hw:0,0 --sout '#transcode{acodec=mpga}:rtp{sdp=rtsp://:8080/stream.sdp}'
User=someone
Group=somegroup

[Install]
WantedBy=multi-user.target

Common issues

Not yet available

Support

Create an issue on github


illustration