Mit einem tool zum rtp-Streamen kann man auf Unifi-Kameras wie der Dome G4 / G5 Audio-Inhalte streamen. Folgendes Beispiel zeigt wie das mit einem Loxberry funktioniert (benötigt das AnyPlugin).
Mit dem Tool ffmpeg (+ library "libflite" für TTS, standardmäßg auf dem Loxberry installiert, siehe hier!) lässt sich eine mp3-Datei oder aber ein Text auf die Kamera als Audio streamen. Eine solche Audio-Ausgabe kann dann per Bash- bzw. Shell-Befehl über das AnyPlugin z.B. via einem virtuellen Ausgang in Loxone getriggert werden.
Folgender Befehl spielt eine mp3 über den Lautsprecher der Kamera ab (zweites Beispiel: mit cropping & Lautstärke-Anpassung, file lokal auf dem Loxberry per filemanager abgelegt):
- ffmpeg -re -i 'file:///Users/../Test.mp3' -c:a opus -strict -2 -b:a 24k -f rtp rtp://IPderKamera:7004
- ffmpeg -re -ss 00:00:00 -to 00:00:04 -i 'http://LoxberryUserName:LoxBerryPSW@LoxberryIP/admin/system/tools/filemanager/system/webfrontend/legacy
/Test.mp3' -c:a opus -strict -2 -b:a 24k -filter:a "volume=1.0" -f rtp rtp://IPderKamera:7004
- ffmpeg -re -f lavfi -i flite=text='This is a test':voice=slt -c:a opus -strict -2 -b:a 24k -f rtp rtp://IPderKamera:7004
Hierzu gemäß Anleitung des AnyPlugin vorgehen, d.h. Plugin installieren, dann in der Loxone Config einen virtuellen Ausgang anlegen mit der Adresse tcp://IPLoxberry:9095, und dann einen virtuellen Ausgangsbefehl XYZ wie oben anlegen mit NameBefehl udp command XYZ.
Nun kann man z.B. auch mit <v> im Befehl und Textübergabe ähnlich dem Intercom TTS-Eingang Sprachbefehle an die Unifi-Kameras übergeben.
Hintergrund:
Folgende Schritte muss man vermutlich nicht extra ausführen, da die talkback-session URL (=rtp://IPderKamera:7004) generisch scheint!
Im Unifi Web-Interface kann man unter Settings → Control Plane → Integrations → Your API Keys einen API Key anlegen (im folgenden XXXX → abspeichern / merken). In einem Terminal / einer Kommando-Zeile kann man folgende Schritte ausführen um den rtp-Stream Adresse zu bekommen:
- curl -k -X GET 'https://YourUDMProIP/proxy/protect/integration/v1/cameras' -H 'X-API-KEY: XXX' -H 'Accept: application/json'
- → Kamera ID merken / speichern: YYY (steht im Output des obigen Befehls im Terminal)
- curl -k -X POST 'https://YourUDMProIP/proxy/protect/integration/v1/cameras/YYY/talkback-session' -H 'X-API-KEY: XXX' -H 'Accept: application/json'
- Als Ausgabe im Terminal steht dann die Info: {"url":"rtp://IPderKamera:7004","codec":"opus","sampling Rate": 24000,"bitsPerSample":16}
Kommentar