Überwachungskamera (RTSP-Stream) in FTUI anzeigen

Begonnen von aloz77, 04 Februar 2016, 17:10:44

Vorheriges Thema - Nächstes Thema

Funsailor

Hallo Thomas,
ich nutze den "h264Preview_01_sub" Stream der Kamera im WebRTC, da ist das Bild ohne weitere Einstellungen kleiner.
Um den "Fehler" einzukreisen, habe ich zuerst komplett deine Einstellung genommen und habe  den "h264Preview_01_main" Stream genommen ...

Siehe da, es geht wieder...
Ich war aber der Meinung, das es mit meiner Einstellung auch schon mal lief.

Da ich Zeit hatte, Kommando zurück und wieder den Sub Stream genommen... upps geht auch wieder...

Seltsam, das werde ich mal beobachten.

Gruß
Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

StephanFHEM

Zitat von: AlpenFlizzer am 27 Dezember 2020, 14:31:37
In folgendem Repo habe ich eine relativ fertige und einfache Variante für unsere Zwecke zusammengestellt: https://github.com/AlpenFlizzer/webrtc-streamer-docker-compose. Getestet habe ich wie beschrieben auf einem Raspi 3B und in einer Ubuntu VM auf meinem Proxmox-Server (Intel NUC Pentium Silver J5005).

Mittels "git clone" wird das Repo geclont. Dann muss lediglich in der Datei config.json im Verzeichnis /webrtc-streamer der/die RTSP Urls eingetragen werden und mit "docker-compose up -d" (eventuell ist ein sudo davor nötig - anderes Thema) der Container gestartet werden. Einzige Voraussetzung ist also git, docker und docker-compose (zB sudo apt install -y git docker docker-compose)

Das klingt sehr interessant und ich habe ein/zwei Fragen dazu. Aktuell nutze ich motion mit einer Cam und wollte jetzt eine zweite Cam einbinden. Ich hab aber das Gefühl, dass Motion mit zwei Cams etwas komplexer ist und entsprechend Systemressourcen verbraucht. Alles was ich brauche ist auch nur genau der von dir beschriebene Stream ohne den anderen Kram.

Jetzt meine Fragen:
1. ist es möglich zwei RTSP-streams einzubinden und zB einen über Port 8000 und den anderen über Port 8001 darzustellen?
2. ich kenne mich noch gar nicht mit Docker aus. Und Linux eher auf Anfänger-Level. Ich hab die Pakete mit "sudo apt install -y git docker docker-compose" installiert. Wie genau kann ich jetzt den Container erstellen und das Git clonen?;-)

AlpenFlizzer

Hallo.

Zu Frage 1: Das Ganze funktioniert gänzlich anders. Auf Port 8000 lauft der webrtc-streamer. Deine Webseite (zB FTUI) ruft mittels JavaScript einfach den Stream vom Port 8000 ab, der gewünscht wird. Im Repo gibt es eine Datei demo.html, da ist das ersichtlich.

Zu Frage 2: Eigentlich steht die Antwort sogar im, von dir zitierten Text drin... ;-)


git clone https://github.com/AlpenFlizzer/webrtc-streamer-docker-compose.git
cd webrtc-streamer-docker-compose #in diesem Ordner findest du auch die erwähnte config.json und demo.html
docker-compose up -d #eventuell sudo davor
#abwarten
docker ps #zeigt ob der container läuft
#in einem browser http://<ip-deines-servers>:8000 ansurfen und mal den webrtc-streamer befummeln


Sorry dass ich nicht mehr Support geben kann, da fehlt mir grad etwas die Zeit. :-) Grundsätzlich sollte ein Minimum an git und Docker Know-How vorhanden sein, dann flutscht das - ich habe auch im Code ordentlich kommentiert denke ich.

Gruß S

StephanFHEM

Danke für deine Zeit! Das sieht schon eher so aus, dass ich damit etwas anfangen kann. Hab es vorher echt nicht gesehen. Ich probier es mal aus. Wenn ich es jetzt richtig verstanden habe, werden die beiden Streams als beide auf Port 8000 geleitet und ich kann dort beide abgreifen. Ich schau mir mal die Demo an.

StephanFHEM

Hallo,

hab versucht es nach der Beschreibung umzusetzen und ich erreiche auch meinen server:8000 und sehe, dass dort Streams auswählbar sind. Leider starten die Streams nicht.

In den Logs erhalte ich folgende Fehlermeldung:
webrtc Peer Connection Manager.cpp:660: Failed to initialize PeerConnection

in einer LiveDemo im Internet geht es... es kann also nicht an meinem Browser liegen. Was kann ich da jetzt machen?

StephanFHEM

Args.... Ich bekomme es immer noch nicht zum Laufen. Habs über versucht über die Installation vom original webrtc-streamer zu lösen aber nach einer Gefühlten Ewigkeit konnte ich nicht weiter machen weil cmake nicht installiert war... da war dann auch freundlicherweise die HDD komplett voll wegen chronium cache....
Hat nicht dich noch einer den entscheidenen Tipp wieso die Stream nicht starten? Mein Browser ist ok sonst würde die Live-Demo nicht laufen. Die Peer-Verhandlung scheint auch zu gehen....
Was mir noch aufgefallen ist: webrtc in der Live Demo ist eine neuere Version als die aus dem Docker. Kann man das aktualisieren? Vielleicht löst es sich dadurch.
Und ich nutze kein HTTPS und die Demo Streams sind auch PW frei... daran kann es also auch nicht liegen

StephanFHEM

neuer Ansatz: mit einem alten Raspi3 und komplett neu aufgesetztem Raspbian läuft es.
Ich kann in FTUI3 aber den Tag <video id="video" muted autoplay></video> nicht einbinden bzw. er zeigt mir nichts an. Muss ich da noch etwas beachten?

draddy

hallo zusammen,

stell mich grade glaub bissl blöde an ...

also den leichten teil habe ich geschafft, webrtc-streamer läuft, ich kann über http://<ip>:8000 zugreifen und sehe meine cam.

aber jetzt bin ich zu blöde das ding in FHEM zu bringen ^^

letztlich anzeigen würde ich sie gerne in FHEMAPP - aber das zeigt mit der Adresse nix an wenn ich ihm die adresse übergebe:
http://<ip>:8000/webrtcstreamer.html?video=Hof

thx
Jens

OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

xeenon

Hallo Zusammen,


ich habe Kameras verschiedener Hersteller am Laufen. Alle funktionieren für sich relativ gut in FTUI. Allerdings sind die Kameras in ihrer Rechenleistung beschränkt und kommen schnell an die Grenzen wenn ein Stream öfter (bei Reolink reichen 2 Streams, bei Instar ist bei 3 schluss) abgegriffen wird.

Da alle Streams sowieso bei der QVR Pro Surveillance Station (QNAP) zusammen laufen würde ich gerne die Streams über die Station abgreifen. Die hat mehr als genug Leistung. Die Station kann Streams als HTML oder RTSP Stream freigeben. Allerdings haben meine bisherigen Lösungsversuche nicht geklappt.

Scheinbar ist die Lösung aus dem Thread nicht so das wahre, ist aber auch schon etwas älter. Gibt es mittlerweile eine gute Lösung?

Viele Grüße

AlpenFlizzer

Ich kann zwar keine generelle Antwort zu sämtlichen vorgeschlagenen Lösungen geben, aber die WebRTC Lösung ist mangels Stabilität und auch Komplexität der Umsetzung bzw. Ressourcen Anforderungen zwar eine Lösung die echte realtime Kamerastreams in HTML erlaubt, aber unterm Strich nicht wirklich eine Empfehlung wert ist. Obwohl ich selbst ordentlich Zeit in diverse Ansätze gebuttert habe... :-D

Wenn dein QNAP den Stream via HTML anbieten kann, sollte der doch mittels <video> tag eingebunden werden können oder? RTSP wird wohl fürchte ich nie von Browsern nativ unterstützt werden...

Gruß S

cotecmania

#130
Hallo Alpenflitzer,

jetzt habe ich die 9 Seiten durchgelesen in der Hoffnung nun eine Lösung für das RTSP-Problem zu haben, aber jetzt schreibst Du, dass es nicht empfehlenswert ist aufgrund "Stabilität und Komplexität".
Ich möchte 5 Kameras mit RTSP H264 in Fully einbinden. Läuft das mit webrtc zuverlässig auf dem Raspy 3, auf dem auch FHEM läuft ?

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

AlpenFlizzer

Hallo!

Ich kann das leider nicht konkret beantworten, ich kann dir aber sagen, dass der oben vorgeschlagene WebRTC-Streamer gut und stabil funktioniert, aber auch reichlich Ressourcen braucht. Ich würde es ungetestet einem RPI3 nicht zutrauen 5 (FullHD?) Cams zu streamen, wobei hier noch entscheidend ist, wie oft du die Streams abrufst.

Alles andere wurde bereits gesagt glaube ich. Man muss einen WebRTC-Service laufen lassen, und den Javascript Client in seine Homepage (zB FTUI) einbauen. Beides hat bewiesen, dass es manchmal nicht reibungslos klappt.

Leider, auch zu meinem Ärgernis ist das Thema glaube ich relativ Geschichte bis HTML RTSP spricht (was die meisten Cams sprechen) - also vermutlich nie??

Ich habe einen Hikvision NVR und mittels HDMI->Lan Adapter einen 13 Zoll Monitor im Wohnzimmer angehängt. Mittels Alarmkontakte, die ich via Fhem steuere kann ich auch 5 verschiedene Cams auf dem Monitor Fullscreen anzeigen

Mittlerweile ist das Setup meine Empfehlung...

LG

sinus61

Oder als Alternative zu einem echten NVR irgendwo ein Android Gerät mit der App IP Cam viewer laufen lassen. Die hat einen eingebauten Webserver, dort kann man für alle Kameras dann einen Live-View, das letzte Jpg oder Mjpeg Stream abgreifen. Das geht auch wenn die Kamera eigentlich nur einen RTSP Stream liefert.
Das kann jetzt auf einem alten Smartphone oder Tablet laufen, praktischerweise vielleicht besser auf einem TV Stick oder einer TV Box. Zum Anzeigen muss das keine besondere Leistung haben, vielleicht etwas mehr wenn man auch den Record Mode oder Motion Detection nutzt.