NEWS
Showcase frigate mit esp32cam (tasmota)
-
Habe mir ein Setup gebastelt, das recht gut zu funktionieren scheint
- Flashen von Tasmota auf die esp32cam nach dieser Anleitung
https://cgomesu.com/blog/Esp32cam-tasmota-webcam-server/
Wenn alles geklappt muss man erstmal direkt über den Tasmota/ESP32-CAM Webserver Zugriff nehmen - bei mir über "http://192.168.2.189"
Dann weiter tools/console
dort eintippen:
wcresolution 11 wcrtsp 0
Das bedeutet: Webcam Auflösung 11 = 1280x720, rtsp-stream aus(!) (Mehr Kommandos ... siehe link weiter oben)
Ich habe mit höheren und niedrigeren Auflösungen experimentiert, und empfinde 1280 x 720 als guten Kompromiss
Bei höheren Auflösungen erkennt man auch nicht mehr, und die Framerate geht noch weiter, als bis auf 1...3 fps in den Keller.
Bei geringeren Auflösungen gehen doch irgendwann selbst bei der Schwachen Optik Details verloren ...Frigate Installation habe ich anderswo schon beschrieben ...
https://forum.iobroker.net/topic/76003/frigate-auf-coral-usb-im-lxc-container?_=1729774465581
Hatte lange mit dem rtsp-Stream direkt der ESP-Cam experimentiert - der ist aber wohl zu exotisch, und hat den Nachteil, dass man die Aufzeichnungen nicht direkt im Browser angucken kann... (deshalb wcrtsp 0)
Frigate wird über die datei config.yml konfiguriert.
die Verarbeitung des Videomaterials aus der Kamera erfolgt im frigate container in zwei Schritten.
go2rtc übernimmt den mjpeg-Stream der Kamera und wandelt ihn in rtsp
... go2rtc: # log: # exec: trace streams: #----- Output ist JPEG, Video.Transkodierung in H.264, kein Audio vorhanden CAM-go2Stellplatz: - ffmpeg:http://192.168.2.189:81/cam.mjpeg#video=h264#hardware # - ffmpeg:rtsp://192.168.2.189:8554/mjpeg/1/#video=h264#hardware ...
Der transkodierte Stream aus go2rtc CAM-go2Stellplatz füttert dann wiederum den Kamera-Prozess:
Die IP-Adresse 172.18.0.2 ist die Adresse des Frigate Docker Containers ... ich weiß nicht, ob das Ganze auch mit 127.0.0.1 oder der IP-Adresse des Linux-Systems auf dem der frigate Container unter Docker läuft funktioniert ...... cameras: stellplatz: ffmpeg: hwaccel_args: preset-vaapi input_args: preset-rtsp-generic inputs: - path: rtsp://172.18.0.2:8554/CAM-go2Stellplatz ...
Komplette Datei als Spoiler:
EDIT: Noch ein Tipp zum Schluss: Die Kamera selber ist nicht in der Lage, mehr als einen Video Stream auszuliefert. Wenn man sich die Tasmota-Konsole aufmacht, wird die Verbindung zum frigate System so gestört, dass die beiden nicht mehr zusammen gefunden haben. Musste im Browser den Tab mit der Tasmota Oberfläche schließen. und den Frigate Container neu starten..
- Flashen von Tasmota auf die esp32cam nach dieser Anleitung
-
@martinp Habe leider einen Pferdefuß entdeckt ... die Videos lassen sich mit Firefox wiedergeben, aber mit Chrome nicht ...
Sowohl auf dem Android Smartphone, als auch auf dem Windows PC funktioniert es nicht ...Muss man wahrscheinlich noch Feinschliff an der go2rtc Konfiguration betreiben ...
EDIT: go2rtc Konfiguration ergänzt... jetzt funktioniert es auch auf dem Smartphone und im Windows Chrome
... go2rtc: # log: # exec: trace streams: #----- Output ist JPEG, Video.Transkodierung in H.264, kein Audio vorhanden CAM-go2Stellplatz: - ffmpeg:http://192.168.2.189:81/cam.mjpeg#video=h264#hardware#raw=-avoid_negative_ts make_zero -fflags nobuffer -flags low_delay -strict experimental -fflags +genpts+discardcorrupt -use_wallclock_as_timestamps 1 # - ffmpeg:http://192.168.2.189:81/cam.mjpeg#video=h264#hardware # - ffmpeg:rtsp://192.168.2.189:8554/mjpeg/1/#video=h264#hardware ...
Habe den Spoiler oben ausgetauscht gegen die neue Version
-
Noch ein wenig Ergänzung, was die Anwendung der Kamera angeht ...
Mit der internen Antenne gibt es keinen stabilen Videostream, habe auf eine externe Antenne umgebaut.
https://www.roboter-bausatz.de/p/2.4g-antenne-bluetooth-wifi-fuer-esp32-cam-zigbee-module-uvm.?srsltid=AfmBOoqZMLEzgdNFcpcNGoPMps7w3MXdyTnEQU5xiD-osNa_nY3ocMV_Derzeit nutze ich noch einen experimentellen Aufbau:
Hier wird eine Email versandt mit dem Thumbnail-Bild des erkannten Ereignisses
Ich nutze den frigate Adapter NICHT, sondern habe frigate direkt in den mqtt client / broker eigebunden.
URL des Thumbnail-Bildes
http://192.168.2.196:5000/api/stellplatz/any/thumbnail.jpg
Und hier noch die Lebensdaten des frigate LXC-Containers
-
@martinp sagte in Showcase frigate mit esp32cam (tasmota):
Mit der internen Antenne gibt es keinen stabilen Videostream, habe auf eine externe Antenne umgebaut.
Das Problem ist hatte ich auch mal.
Eine Cam habe ich beim löten zerstört, dann habe ich mir im Forum weiterhelfen lassen.....Warum da kein kleiner Schalter ist.....
-
@david-g Die Umschaltung muss HF-Technisch "glatt" sein ... 2,4 GHz ist da schon recht empfindlich ...
Habe aber auch schon Lösungen gesehen, wo die Antennenbuchse "Huckepack" auf der Leitung sitzt, die zur Leiterplatten-Antenne geht...
Schließt man eine Antenne an die Buchse an, besteht die Arbeit darin, mit dem Teppichmesser die Leiterbahn zur Leiterplatten-Antenne zu kappen ...Die Leute von Frixtender sind aber da ziemlich schmerzfrei - die lassen die interne WLAN-Antenne einfach dran .. nix Teppichmesser....
Geht nur um den kurzen Abschnitt ab 14:23:
https://www.youtube.com/watch?v=8CV02jPrHwc
Beim ESP32CAM Umlöten hat meine Lötspitze auch diesen 0-Ohm Widerstand geschluckt, und gut durchgegart ...
Habe die Brücke dann mit einem 0,1 mm Silberdraht geschlossen ... -
Neue Wasserstandsmeldung - das Setup ist auseinandergeflogen, nachdem ein neuer Kernel auf dem PVE einen Reboot erforderte
Google Coral hat seine Firmware verluren und meldete sich wieder als "Global Unichip"
Das habe ich behoben ...
angelehnt an diese Anleitung:
https://github.com/google-coral/edgetpu/issues/536#issuecomment-2378251821
Habe ich auf dem PVE installiert und ausgeführt...
dann
dfu-util -D /var/lib/vz/snippets/coral-bin/apex_latest_single_ep.bin -d "1a6e:089a" -R
Danach sah das wieder gut aus, auf dem LXC-Container, wo frigate im Docker läuft:
frigate@ubuntu-frigate-privileged:~$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO) Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 002: ID 2109:711f VIA Labs, Inc. External Bus 002 Device 005: ID 18d1:9302 Google Inc. frigate@ubuntu-frigate-privileged:~$
Die UDEV-Rule scheint auch zu funktionieren ...
frigate@ubuntu-frigate-privileged:/etc/udev$ ls -l /dev/bus/usb/010/001 crw-rw---- 1 root root 189, 132 Jan 17 16:22 /dev/bus/usb/010/001
Logging sieht für mich so aus, als ob Google Coral trotz obiger Maßnahmen nicht mehr gefunden würde:
-
@martinp Problem hat sich erledigt .... Mein Versuch, den USB-Coral im Container immer unter dem gleichen Pfad sichtbar zu machen scheint doch nicht zu funktionieren
Hatte über eine udev-Regel auf dem PVE ein Device erzeugt ... (/dev/bus/usb/010/001)
Je eine Regel mit und ohne geladene Firmware auf den Coral Stick
root@pve:/etc/udev/rules.d# ls 50-lxcusb.rules 60-bridge-network-interface.rules 65-apex.rules 98-coral.rules 99-intel-chmod666.rules root@pve:/etc/udev/rules.d# cat 98-coral.rules SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="9302", SYMLINK+="/bus/usb/010/001" SUBSYSTEM=="usb", ATTR{idVendor}=="1a6e", ATTR{idProduct}=="089a", SYMLINK+="/bus/usb/010/001" root@pve:/etc/udev/rules.d#
Das Device scheint der frigate Container nicht zu erkennen ... Vorhanden ist es ...
frigate@ubuntu-frigate-privileged:/dev/bus/usb$ ls -l 010 total 0 crw-rw---- 1 frigate frigate 189, 130 Jan 22 15:40 001 frigate@ubuntu-frigate-privileged:/dev/bus/usb$ ls -l 002 total 0 crw-rw---- 1 root root 189, 130 Jan 22 15:40 003 frigate@ubuntu-frigate-privileged:/dev/bus/usb$
erst, als ich auch ./002/003 weitergeleitet hatte, hat es funktioniert ...