Hauptmenü

RTSP-Stream in FHEM

Begonnen von EnderPhilipp, 04 Januar 2017, 22:23:25

Vorheriges Thema - Nächstes Thema

EnderPhilipp

Hi Liebe FHEM-Community,

ich habe Zuhause eine Logitech 700e Outdoorüberwachungskamera.

Die würde ich gern über iframe in FHEM "einbinden".
Habe rumprobiert, doch nichts hat funktioniert.  :-[

Hier mal die Infos zum Kamerastream/Kamera:

Link:                   rtsp://192.168.0.185/HighResolutionVideo
Auflösung:              960x738
Bildwiederholungsrate:  30


Würde mich über jede Hilfe freuen   :D

Mfg
Philipp ;D
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

bmwfan

Hallo,

ich habe 2 Mobotix im Einsatz und über iframe http://IP-Adresse/cgi-bin/faststream.jpg?stream=MxPEG&noaudio&fps=1.0&iframerefresh=5&preview&size=640x480&quality=60 eingebunden (aus DEF). Type ist weblink.

Du mußt in der Beschreibung der Kamera nachlesen, wie Du per Web Frames abrufen kannst.

Gruß Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HW-LAN, Jalousienaktoren; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

peter456

Dieses Thema ist für mich auch interessant. Meine IP-Kamera arbeitet auch leider nur über RTSP-Stream.
Da ich nicht direkt ein RTSP-Stream in FHEM anzeigen kann, habe ich folgendes gemacht:
Über eine Crontab-Aufgabe wird alle 10 Minuten ein Screenshot aus dem RTSP-Stream erzeugt. (hier ein Beispiel: */10 * * * * sudo ffmpeg -i rtsp://192.168.10.222:554//user=XXXX_passXXXX_channel=1_stream=0.sdp -f image2 -vframes 1 -pix_fmt yuvj420p /mein_pfad/shot.jpg).
Ich kann dann zwar das erzeugte Screenshot in FHEM anzeigen, aber mit dieser Lösung bin ich nicht zufrieden, da das erzeugte Bild fast immer fehlerhaft ist.
Vielleicht hat jemand noch eine bessere Lösung mit RTSP-Streams?


Sky

Hallo ,

ich habe auch lange gerätselt und getüftelt um meine Kameras ,die einen RTSP-Stream zur Verfügung stellen , in Fhem und im Tablet UI umzusetzen .

Die letztendliche Lösung war dies mit Zoneminder umzusetzen .Dies funktioniert insoweit ,das ich im Tablet UI einen iframe einbinde ( Internet Explorer ) ,der mir ein Bild zur Verfügung stellt.

Da ich aktuell aber noch nicht ganz zufrieden bin ,weil in anderen Webbrowsern noch kein Bild angezeigt wird ,ebenso auf dem Tablet ,suche ich noch nach Lösungen.

Vielleicht kann mir einer auf diesem Weg einen Tipp geben ,woran das liegt ??

Wenn Ihr fragen zu Zoneminder habt , einfach schreiben .


( Das erste Bild ist mit dem Internet Explorer ,das zweite mit Firefox )

Sailor

Hi Phillip

Zitat von: EnderPhilipp am 04 Januar 2017, 22:23:25
ich habe Zuhause eine Logitech 700e Outdoorüberwachungskamera.
Die würde ich gern über iframe in FHEM "einbinden".
Würde mich über jede Hilfe freuen   :D

Also ich habe das Problem nach sehr zähem Ringen wie folgt gelöst bekommen:

a) VLC media player mit allen Webplugins (Menü während der Installation) auf dem Rechner installiert
b) Zum Testen mit VLC unter "Media" ->  "Open Network Stream" - > die Adresse der Kamera eingegeben: rtsp://username:password@192.168.178.21:554/11
c) In fhem (unter Firefox) ein neues weblink device angelegt:define myCameraStream weblink htmlCode <EMBED TYPE="application/x-vlc-plugin" name="stream1" autoplay="yes" loop="no"  width="177px"  height="100px" src= "rtsp://username:password@192.168.178.21:554/11" target="rtsp://username:password@192.168.178.21:554/11"></EMBED>
d) In Floorplan einbinden und bei Doppelklick den Vollbildmodus genießen; Bei ESC wieder den Floorplan genießen!

Bei dir müsste das eventuell dann so aussehen:
define myCameraStream weblink htmlCode <EMBED TYPE="application/x-vlc-plugin" name="stream1" autoplay="yes" loop="no"  width="177px"  height="100px" src= "rtsp://192.168.0.185/HighResolutionVideo" target="rtsp://192.168.0.185/HighResolutionVideo"></EMBED>

Gruß
    Sailor

PS: Die Lösungsvorschläge um "iframe" können wir getrost vergessen, da Firefox diese nicht mehr anzeigt, sobald die IP-Adresse eine andere ist als die des fhem-Systems.
******************************
Man wird immer besser...

tarum

Hallo,

Ich habe auch über Zoneminder die Sache gelöst, da bei mir auch nur RTSP zuverfügung steht. Geht übrigens mit Tablet und Rechner,  hier ein Auszug aus der fhem.cfg

define Camera_1 weblink iframe http://xxx.xxx.xxx.xxx:81/zm/index.php?view=cycle&group=0&mid=1&mode=stream
attr Camera_1 group Cameras
attr Camera_1 htmlattr width="600" height="420 frameborder="0" marginheight="800" marginwidth="300" style="background-color: black;;;; -webkit-border-radius: 1px;;;; -moz-border-radius: 1px;;;; border-radius: 1px;;;;"
attr Camera_1 icon it_camera
attr Camera_1 room Übersicht

define Camera weblink iframe http://xxx.xxx.xxx.xxx:81/zm/index.php?view=montage&group=0
attr Camera group Aussenbereich
attr Camera htmlattr width="1170" height="850"
attr Camera icon it_camera
attr Camera room Aussenbereich
Linux Server 20.04 CUL 868+433, CCU3, Homematic, Intertechno, FritzDect 200, JeeLink+LaCrosse, Duofern Stick+Rollotron Gurtwickler,smartVISU-3.0.0

Sailor

Hallo Sky

Zitat von: Sky am 07 Januar 2017, 17:51:27
Wenn Ihr fragen zu Zoneminder habt , einfach schreiben .

Da ich ebenfalls inzwischen auf ZoneMinder umgestiegen bin, habe ich eine Frage:

Ich habe Zoneminder auf dem gleichen RasPi laufen wie mein fhem - System.
Daher sind diese under der gleichen IP-Adresse zu erreichen.

Die Kamera ist unter ZoneMinder live zu sehen.

Wenn ich aber unter fhem dieses Fenster in einen iFrame einbinden will, bleibt der Frame dunkel.

Mache ich da einen Denkfehler oder handelt es sich um den von dir beschriebenen Browser-Fehler?



define Camera_1 weblink iframe http://192.168.178.7/zm
attr Camera_1 htmlattr width="600" height="420 frameborder="0" marginheight="800" marginwidth="300" style="background-color: black;;;;;;;; -webkit-border-radius: 1px;;;;;;;; -moz-border-radius: 1px;;;;;;;; border-radius: 1px;;;;;;;;"
attr Camera_1 icon it_camera
attr Camera_1 room Outside


Gruß
    Sailor
******************************
Man wird immer besser...

mrb

Hallo zusammen,

ich habe mal ne frage. Hier wird ja immer auf http:// verwiesen aber ein rtsp ist doch rtsp://
hat das einer hinbekommen oder immer noch nicht. Wäre es möglich zb. den rtsp als jpg zu speichern und darauf dann zurückzugreifen?
Das Modul IPCAM geht ja leider nicht auf rtsp :(

Ich würde gerne auf Abruf ein Bild haben und das Anzeigen. Notfalls gerne per Screenshot alle Minute (zwar sehr unsauber aber besser als nichts).
Auch wäre es gut den Tilt meiner Cam (im übrigen eine TP Link Tapo C200) zu steuern und auch den Bewegungssensor zu nutzen (also so das man nicht mehr in der Cloud bei TP-Link hängt)

Grüße
Michael

Pepe_Pb

Hi, an dem gleichen Problem recherchiere ich auch gerade, ich würde gerne ein .jpg in fhem darstellen (alle 60 minuten reicht). Ich habe mehrere Tapo C100, die servieren rtsp-streams...

Adimarantis

Ich verwende RTSPtoWEB, Snapshots und ffmepg - je nach Anwendungsfall:

https://github.com/deepch/RTSPtoWeb

Das läuft als "server" auf meinem Raspberry für 6 Kameras. Das das Tool den RTSP stream nur umverpackt, packt der Raspi das lässig.
Hat auch eine schöne Weboberfläche mit der ich dann alle Kameras auf Handy oder Tablet anzeigen kann (ganz ohne FHEM)

Um das dann embedded in FTUI anzuzeigen habe ich dann folgenden Eintrag:

     <ftui-grid-tile row="1" col="6.5" height="6.5" width="7">
<input type="hidden" name="mse-url" id="mse-url"
        value="ws://192.168.1.141:8088/stream/door/channel/0/mse?uuid=door&channel=0">
<video id="mse-video" autoplay muted playsinline
style="width: 150%; height: 150%;"></video>
<script src="rtsptoweb.js"></script>
  </ftui-grid-tile>

Das Javascript ist als Datei angehängt.

Viele meiner anderen Kameras haben ich noch die Möglichkeit ein Snapshot Bild zu holen, das binde ich dann so ein:
      <ftui-grid-tile row="7.5" col="2" height="6.5" width="10.5">
        <ftui-image src="http://192.168.1.25/snap.jpg?size=s" nocache interval="5" style="width:100%; height:100%;"></ftui-image>
  </ftui-grid-tile>

Zu guter letzt noch eine Kamera, bei dir ich über ffmpeg eben solche Snapshot Bilder erzeuge

nohup ffmpeg -fflags nobuffer -fflags discardcorrupt -fflags flush_packets -flags low_delay -frame_drop_threshold 0 -probesize 32 -analyzeduration 0 -hwaccel auto -loglevel quiet -err_detect ignore_err -rtsp_transport tcp \
   -i "rtsp://user:password@192.168.1.167:554/user=user&password=password&channel=1&stream=0.sdpi?" \
   -y -update 1 -an -filter:v "crop=0.6*in_w:0.9*in_h:800:000" -q:v 5 -r 2 -tune zerolatency /tmp/cam3.jpg >>/tmp/ffmpeg.log 2>>/tmp/ffmpeg.log &
Das Bild /tmp/cam3.jpg ist dann per softlink ins ftui Verzeichnis verlinkt und wie bei den Snapshots mit
<ftui-image src="../frontend/cam3.jpg" align-items="center" interval="1"></ftui-image> in ftui dargestellt.

An das Bild kommt man natürlich auch direkt in FHEM dran, zum Beispiel mit
attr DI_Aussenbeleuchtung devStateIcon { '<div><img src="fhem/www/ftui/cam3.jpg" align-items="center" height="100" width="100">' }Wie man das jetzt automatisch aktualisiert, weiss ich nicht - hab ich nie gebraucht das ich sowas ja in FTUI oder direkt mit RTSPtoWEB mache.

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)