IP Sinocam Überwachungskamera Live Bilder in FHEM

Begonnen von Heinzi, 24 Januar 2017, 21:54:54

Vorheriges Thema - Nächstes Thema

Heinzi

Hallo Forum,

ich habe eine SZSinocam Überwachungskamera (Model: SN-6408CW-Wi-EU)
bei der ich gerne das Live-Bild in FHEM sehen würde.

Ich habe die verschiedensten Varianten versucht.
Leider kann ich nicht direkt auf die Kamera zugreifen; obwohl ich
eigentlich den richtigen Username und Passwort eingetragen habe,
leider passiert da nichts (siehe Bild in der Anlage) :-\.

Kann mir da jemand weiter helfen.
Vielen Dank.
Heinzi

Devender

Gehst du über eine Browser?
Wenn ja, schaltet die Netzwerk Überwachung dort mal ein. So erscheine alle Befehle und Aufrufe im unteren Bereich des Browsers.

Ein list deine Kamera wäre auch hilfreich. Ggf hast du was nicht richtig konfiguriert.
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

stefanru

Hi,

ich hab auch so eine CAM.
Die Software die auf der CAM drauf ist, ist ein activeX Plugin für Internet Explorer.
Nur dort wirst du den RTSP Stream abgreifen und Einstellungen machen können. Nur IE!

Ich habe für chrome mitlerweile einen JS Player gefunden der auch RTSP anzeigen kann und eingebaut.
Ist schon mal nicht schlecht.
Den Player gibts hier:
https://www.videoexpertsgroup.com/chrome-media-player-plug-in/

Die Kamera ist eigentlich ganz cool, leider ist rtsp nicht so leicht auf Webseiten zu bringen. Arbeite da auch noch an einer besseren Lösung.
Die Kamera unterstützt ONVIF, damit sollte man auch aus der Ferne alles steuern können.
Das Problem ist dass es dort auch nicht so viel brauchbares gibt.

Ich habe über ONVIF nun mal ein python Skript gebaut das den MotionDetect alarm abgreift und an FHEM liefert. Funktioniert, ist aber nicht schön.
Suche die ganze Zeit nach besseren Lösungen. Das meiste ist nur in Python verfügbar, aber prinzipiell sollte es möglich sein ein Modul zu bauen das den Webservice (ONVIF) in FEHM zur verfügung stellt so dass die Kamera steuerbar sein sollte. Das Streamproblem wird man dadurch natürlich auch nicht los. Das ist aber bei jeder WEBCAM so.

Gruß,
Stefan

stefanru

Nun ich habe heute noch einen Fortschritt gemacht. Mit einem nodejs Framework konnte ich tatsächlich die Image URL auslesen.
Die habe ich bisher niergends im Inet gefunden. Sie lautet:
http://<ip-der-cam>:<port>/cgi-bin/anv/images_cgi?channel=0&user=<username>&pwd=<passwort>

Damit kann man dann schonmal das IPCAM Modul von hier verwenden.
Ich bin noch am schauen einen Webservice Listener auf das MotionDetect zu bekommen. Bisher schaffe ich das nur per Pull und das kostet auf dem Raspberry 7% CPU Last.

Hier noch das NodeJS Framework mitdem man schonmal leicht an alle Infos kommt:
https://github.com/futomi/node-onvif

Gruß,
Stefan

Hoggle

Hallo.
na da scheint ja etwas Bewegung in die Sache zu kommen.
Ich habe eine DBPower 300c mit dem gleichen/selben ActiveX Sch....
€ Stefanru: Kannst du mir mal "aufs Pferd" helfen? Wie muß ich das in Fhem hinterlegen. Ich bin da ziemlich "ungeübt" :-[

stefanru

Hi Hoggle,

klar kann dir helfen. Was willst du denn genau hinbekommen.
Video Stream in Chrome? Snapshot Adresse herausbekommen?

Gruß,
Stefan

Heinzi

Vielen Dank für Eure Antworten.

Hallo stefanru:
Wenn ich das in der cfg so eintrage, dann kommt leider kein Bild:
define ipcam weblink htmlCode <img width="640" height="480" src="http://192.168.178.30:80/cgi-bin/anv/images_cgi?channel=0&user=XXXXX&pwd=XXXX"
attr ipcam room Garten

Ist das so korrekt in der cfg ?
(Anfänger  :-\)

Vielen Dank.
Heinzi

stefanru

#7
Hi Heinzi,

sieht für mich erstmal gut aus. Was passiert wenn du es so http://192.168.178.30:80/cgi-bin/anv/images_cgi?channel=0&user=XXXXX&pwd=XXXX in den Browser eingibst?
Kommt dann das Bild?
Wenn nicht müssen wir mal schauen was für eine Kamera du genau hast.
Im allerschlimmsten Fall hat deine Kamera eine andere URL für die Snapshots. Dann schick ich dir ein Skript das das rausfinden kann.

Hier wäre ein Beitrag wie man es rausfindet:
http://www.openipcam.com/forum/index.php?topic=1182.0

P.S.:
Mit Weblink klappts bei mir so:
define cam_pic weblink image http://192.168.69.92:80/cgi-bin/anv/images_cgi?channel=0&user=admin&pwd=admin

Gruß,
Stefan

Heinzi

Hallo Stefanru,

vielen Dank; hatte mich vertrippt. Jetzt erhalte ich ein Bild  ;D.

Gibt es auch die Möglichkeit nicht nur ein Bild zu erhalten, sondern
online permanent Video Bilder zu erhalten (Live stream) ?
Wenn ja, wie ist da vorzugehen ?

Nochmals vielen Dank für Deine Hilfe.

Heinzi

stefanru

Live Stream nur per RTSP.
Oder eben das bild alle 2 Sekunden refreshen wenn das dir langt.

Ich benutze rtsp, da kommt es aber auf den Browser an. Da ich chrome nutze nehme ich dies: https://www.videoexpertsgroup.com/chrome-media-player-plug-in/
Bei anderen Browsern sollte das VLC plugin funktionieren.

Ich habe das drin im FHEM per weblink und im tabletui.

Dazu habe ich mir eine kleine webseite für beide Streams gemacht.
Es gibt bei deiner CAM 2 Streams die du einstellen kannst.
Den 2ten Stream habe ich mit weniger Bildern/s und Auflösung damit ich sie über meine Anbindung auch ins Inet streamen kann wenn ich nicht von zuhause zugreife.

Ist eigentlich nicht so schwierig im Tablet UI www folder habe ich mir einen cam folder angelegt.
Dort die js dateien des Players vom Link abgelegt und folgende html seite gebaut:
<html>
<head>
    <script type="text/javascript" src="vxgplayer-1.8.21.min.js"></script>
    <link href="vxgplayer-1.8.21.min.css" rel="stylesheet"/>
</head>
<body>



<div class="vxgplayer"
    id="vxg_media_player1"
    width="640"
    height="360"
    url="rtsp://192.168.69.92/12"
    latency="1000"
    autohide="2"
    volume="0.7"
    autostart
controls
avsync
    mute
    aspect-ratio
    aspect-ratio-mode="1"
    auto-reconnect></div>
</body>
</html>


Das dann auch noch ins fhem als weblink:
defmod cam_weblink weblink iframe /fhem/tablet/cam/normal.html
attr cam_weblink htmlattr width="680" height="400"
attr cam_weblink room Cam
setstate cam_weblink initialized

Ich denke es ist machbar. RTSP Streams sind halt etwas fummelig wegen der fehlenden direkten Browser unterstützung.

Das Bild einfach refreshen geht auch im Tablet UI und zwar so:

<div
      data-type="image"
      data-size="95%" 
      data-opacity="1.0"
      data-refresh="5"
      data-url="http://192.168.69.92:80/cgi-bin/anv/images_cgi?channel=0"
      class="nocache">
</div>


Gruß,
Stefan

Heinzi

Hallo Stefan,

vielen Dank für Deine Mühe.

Das sieht alles etwas (zu) kompliziert für einen Anfänger aus.

Im Moment nutze ich das Dashboard für die Gesamtübersicht.
Es würde mir auf jeden Fall ausreichen, wenn das Bild alle 2 sec. aktualisieren
würde.

Martin



stefanru

Hi Martin,

im FHEM Dashboard weiß ich nicht ob man es refreshen kann. Da hoffe ich mal auf Hilfe von Dashboard Experten.
Ich wüsste nur den weg über eine HTML Seite mit Refresh und diese dann per weblink ins Dashboard einbinden.
Das sollte gehen.
Kann ich bei Gelegnheit mal probieren.

Gruß,
Stefan

peter456

Mit Hilfe dieses Forums habe ich endlich den Link für Screenshots meiner IP-Kamera heraus gefunden.

Beispiel:
http://192.168.178.30/cgi-bin/images_cgi?channel=0&user=XXXXX&pwd=XXXX

eddso

Ich habe ähnliche CAM mit gleicher URL. Diese lässt sich wie stefanru beschrieb in FTUI einbinden
Zitat
Das Bild einfach refreshen geht auch im Tablet UI und zwar so:

<div
      data-type="image"
      data-size="95%" 
      data-opacity="1.0"
      data-refresh="5"
      data-url="http://192.168.69.92:80/cgi-bin/anv/images_cgi?channel=0"
      class="nocache">
</div>


jedoch hat der wichtige Schalter nocache die Angewohnheit an die URL &_=timestamp anzuhängen was die WebCam überhaupt nicht mag. Man kann das durch patchen des Skriptes widget_image.js in Zeile 39 lösen. Da einfach den Parameter Trenner durch # überschreiben:

var separator="#";


Damit funktioniert es dann.
MfG Ed

stefanru

Korrekt,

so habe ich es auch gelöst.
Was ich aber nach langem hin und her bemerkt habe, das Abrufen des Bildes über die Url stresst die Kamera ungemein.
Ich habe 2 Tablets im Haus die auf die URL alle 10 sek zugreifen. Das reicht schon um die CAM alle paar Stunden zum Reboot zu bringen.

Mittlerweile habe ich eine andere Lösung.
Ich lasse die Kamera alle 10 sek ein Bild auf einen FTP legen. Der FTP ist lokal auf meine Rapberry. hinter dem FTP Pfad ist ein USB Stick der am Raspberry steckt.
Per at und einer selbstgeschriebenen Funktion lasse ich das neuste Bild, also den Dateinamen inkl. Pfad in einen Dummy schreiben.
Den verwende ich zur Anzeige des Bildes auf allen Endgeräten.

Fazit: Die Cam läuft stabil auch mit vielen Clients and man kann auch noch Livestreams direkt abrufen ohne dass die CAM gleich rebootet.

Wenn gewünscht kann ich die Funktion, die definition des at's und des Dummys hier mal reinstellen.

Gruß,
Stefan