NEWS
Test Adapter rtspStream v0.0.x GitHub
-
Hallo zusammen,
nachdem ich einige Wochen mit motioneye, motioneyeOS, iSpy und Xeoma herumgespielt/ausprobiert habe und nicht wirklich zufrieden war, bin ich begeistert von diesem Adapter!
Mit der Erweiterung und Anleitung von @wawyo läuft der Stream richtig gut in meiner VIS. Der Zeitversatz ist minimal und der Stream läuft nahezu ruckelfrei.Da ich in meiner Visualisierung (auf Wandtablet) im Homescreen ein kleines Fenster mit dem Livestream habe und dazu noch einen weiteren View mit quasi einem "Vollbild" des Streams, habe ich einfach gemäß der o.g. Anleitung einen zweiten Stream mit anderer Auflösung eingerichtet.
Einzig die Bildqualität ist nicht wie so wie im originalen RTSP Stream.
Damit kann ich aber erstmal leben. Eventuell habe ich auch nur falsche Einstellungen an der Kamera oder am Adapter vorgenommen?! Ich werde noch ein bisschen weiter ausprobieren.In den nächsten Tagen soll noch eine neue Kamera geliefert werden, sodass ich dann mit dem Adapter weiter rumspielen werde.
Da meine Kenntnisse in Sachen Programmierung etc. gen null gehen, bitte ich dazu noch um kurze Hilfe.Kann ich die beiden Dateien main.js und index_m.html "einfach" um "Stream 4" erweitern?
Also nochmal:
besten Dank an @dbweb und @wawyo für die tolle Arbeit!Grüße,
Tobiasedit:
Vielleicht nicht ganz unwichtig? mein (Proxmox) System:
i5-6500, 8GB DDR4, SSD,
iOBroker in Debian ohne Desktop installiert.
CPU Auslastung liegt bei durschn. 12%
RAM bei 1,4 GB
Stromverbrauch konstant bei 21W
Die aktuell genutzte Kamera ist eine Foscam FI9900P -
@wawyo danke dir.
Habe nun Version 0.0.2 gemacht. Habe ein paar Dinge von dir genommen (v.a. Auflösung), hab die Anzahl Streams aber dynamisch konfigurierbar gemacht, d.h. ihr könnt so viele Streams erstellen wie ihr wollt.
Zudem kann man weitere ffmpeg-optionen anhängen, einfach Optionen als validen json-code eintragen. Im log sieht man dann, welche Optionen beim Stream wirklich gesetzt wurden.
Wenn der Stream häufiger abbricht, kann man das mit einer der zig ffmpeg-Optionen evtl. stabiler machen. -
@tob1 sagte in Test Adapter rtspStream v0.0.x GitHub:
Da ich in meiner Visualisierung (auf Wandtablet) im Homescreen ein kleines Fenster mit dem Livestream habe und dazu noch einen weiteren View mit quasi einem "Vollbild" des Streams, habe ich einfach gemäß der o.g. Anleitung einen zweiten Stream mit anderer Auflösung eingerichtet.
Du brauchst dafür keine zwei Streams im Adapter einrichten. Du kannst bei beiden Views den gleichen Stream verwenden. Die Auflösung die du im Adapter angibst, ist die Auslösung in der ffmpeg den Stream convertiert. Wenn du den Stream in Vollbild angucken willst, würde ich im Adapter auch die volle Auflösung der Kamera einstellen um auch die beste Qualität zu haben. In der VIS kannst du das Widget ja in der Größe frei skalieren.
-
@dbweb
die Neuerungen haben mich natürlich sofort neugierig gemacht und ich habe den Adapter gelöscht und die neue Version über github link installiert.
Leider bekomme ich nun kein Bild mehr angezeigt:Meine Einstellungen sehen wie folgt aus:
(Url getestet in VLC, funktioniert. Port habe ich so übernommen, aber auch mal mit zB Port 88 aus dem "fix" von wawyo ausprobiert.)
und das spuckt der log im debug mode aus:
rtspStream.0 2020-02-13 17:36:37.856 debug (17232) sendTo "getStreams" to system.adapter.admin.0 from system.adapter.rtspStream.0 rtspStream.0 2020-02-13 17:36:37.846 debug (17232) Got a Message: getStreams rtspStream.0 2020-02-13 17:34:00.267 debug (17232) system.adapter.admin.0: logging true rtspStream.0 2020-02-13 17:33:59.475 debug (17232) system.adapter.admin.0: logging false rtspStream.0 2020-02-13 17:33:57.095 info (17232) Stream Einfahrt starting Server on Port 8083 rtspStream.0 2020-02-13 17:33:57.094 info (17232) Stream Einfahrt using TcpPort 554 rtspStream.0 2020-02-13 17:33:57.049 info (17232) Number of streams: 1 rtspStream.0 2020-02-13 17:33:57.025 debug (17232) Starting rtsp Stream rtspStream.0 2020-02-13 17:33:57.015 info (17232) starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.rtspStream, node: v10.19.0 rtspStream.0 2020-02-13 17:33:56.410 debug (17232) statesDB connected rtspStream.0 2020-02-13 17:33:56.410 debug (17232) States connected to redis: 127.0.0.1:9000 rtspStream.0 2020-02-13 17:33:56.403 debug (17232) States create System PubSub Client rtspStream.0 2020-02-13 17:33:56.402 debug (17232) States create User PubSub Client rtspStream.0 2020-02-13 17:33:56.399 debug (17232) Redis States: Use Redis connection: 127.0.0.1:9000 rtspStream.0 2020-02-13 17:33:56.398 debug (17232) objectDB connected rtspStream.0 2020-02-13 17:33:56.396 debug (17232) Objects connected to redis: 127.0.0.1:9001 rtspStream.0 2020-02-13 17:33:56.389 debug (17232) Objects client initialize lua scripts rtspStream.0 2020-02-13 17:33:56.389 debug (17232) Objects create User PubSub Client rtspStream.0 2020-02-13 17:33:56.389 debug (17232) Objects create System PubSub Client rtspStream.0 2020-02-13 17:33:56.388 debug (17232) Objects client ready ... initialize now rtspStream.0 2020-02-13 17:33:56.371 debug (17232) Redis Objects: Use Redis connection: 127.0.0.1:9001 rtspStream.0 2020-02-13 17:33:54.090 info (17099) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason rtspStream.0 2020-02-13 17:33:54.089 info (17099) terminating rtspStream.0 2020-02-13 17:33:53.588 info (17099) Got terminate signal TERMINATE_YOURSELF
@el_malto
Werde mir das nochmal ansehen sobald der Adapter wieder bei mir läuft!
Zuerst hatte ich das auch so, mit dem iFrame Widget. allerdings waren dann bei zu hoher Auflösung immer die Scroll-Buttons am Widget und das Bild nicht auf die Widgetgröße skaliert.
Danke dir schon mal für den Tipp! -
@tob1 kannst du mal beide ports ändern, z.b. 555 und 8086? Hatte das beim testen auch mal, ist aber nach portänderung nicht mehr aufgetaucht.
-
Ah und du hast "startStream" in den Objekten bei dem Stream auf true gesetzt?
-
@dbweb said in Test Adapter rtspStream v0.0.x GitHub:
@tob1 kannst du mal beide ports ändern, z.b. 555 und 8086? Hatte das beim testen auch mal, ist aber nach portänderung nicht mehr aufgetaucht.
@dbweb
Ports habe ich geändert, leider kein Erfolg.@dbweb said in Test Adapter rtspStream v0.0.x GitHub:
Ah und du hast "startStream" in den Objekten bei dem Stream auf true gesetzt?
@dbweb
das stand schon auf true. habe ich aber nochmal auf false und wieder zurück geändert.
Auch Adapter neugestartet etc. habe ich, leider auch noch nicht erfolgreich. -
wie gesagt, ich habe relativ wenig Ahnung von der Materie...
Hilft es dir wenn ich den Quelltext der StreamURL dir mitteile? -
@dbweb ich bekomme mit V0.0.2 folgende Fehlermeldung:
Folgendes habe ich bei den options versucht:-
kein Eintrag
-
{}
-
{'-r':30}
Es kommt immer die gleiche Fehlermeldung. Hast du eine Vermutung woher das kommt?
-
-
@wawyo sagte in Test Adapter rtspStream v0.0.x GitHub:
@Kanufreak ich tendiere zu fehlende Ressourcen.
An deiner Stelle würde ich alles neu aufbauen;ffmpeg deinstallieren.
Iobroker rtspStream aus der Liste deinstallieren.
Iobroker neustarten.
ffmpeg installieren.
=> Achtung! Mit 'J' bestätigen.Iobroker rtspStream downloaden.
Iobroker rtspStream installieren.
Wenn gewünscht, Dateien austauschen.
Vielleicht hilft es
@wawyo danke für deinen Tip! Bis zur Installation von ffmpeg habe ich deine Anleitung befolgt.
Ich habe dann die Version 0.0.2 über iobroker von GitHub installiert und meine Kamera eingerichtet. Bisher funktioniert alles wieder!
@dbweb danke für das Update!
-
@Latzi kannst du die ' mal durch " ersetzen? Kann sein das wenn das feld leer ist, trotzdem der fehler kommt, sollte aber dann dennoch laufen. Schau ich mir morgen an.
-
@tob1 Quelltext hilft mir leider nicht so viel, schau soweit ok aus. Du müsstest den Debugger vom browser öffnen, dann kommt vermutlich der fehler. Hast du den browser mal komplett neu geladen (Ctrl+F5)?
Und kannst du evtl. mal ohne den eintrag "resolution" probieren? Und auch einmal mit dem eintrag {"-r":30} bei den ffmpeg optionen -
Zu früh gefreut! Adapter crashed!
Hier mal das Log
Nach dem Restart des Adapters funktioniert es wieder eine weile.
-
@dbweb sagte in Test Adapter rtspStream v0.0.x GitHub:
kannst du die ' mal durch " ersetzen?
@dbweb BINGO - das war´s, jetzt läuft´s!
Fehlermeldung, die keine ist:
Eine Anregung hätte ich noch:
- Editieren von bereits angelegten Kameras (derzeit nur löschen möglich)
-
@Kanufreak kannst du mal {"-r":30} also ffmpeg optionen setzen? Der crash kommt vom ffmpeg her, das läuft leider nicht besonders stabil, kann ich aber nichta dagegen tun. Das einzige was hilft ist etwas mit den ffmpeg optionen zu spielen.
Was ich bisher gesehen habe ist zu hohe Auslastung nicht gut, sobald die Framerate unter 10/s fällt crasht es oft. Also framerate auf 30 begrenzen und evtl. etwas kleinere Auflösung.
Wenn das hilft baue ich sonst die Framerate noch einfach konfigurierbar ein. -
@Latzi ja die meldungen hatte ich eigendlich nur zu debugzwecken drin
Editierbar ist auf der todoliste, im hintergrund ist das ganze eh nicht so sauber implementiert, um ins iobroker-repo zu kommen werde ich noch einiges anpassen müssen -
@dbweb ist ia kein Problem.
Gut Ding braucht Weile, doch der Ansatz für ein Meisterwerk ist getan -
@Latzi Logmeldung kommt jetzt nur noch, wenn ungültiger json-Code im Feld steht.
@Kanufreak Ist keine framerate gesetzt oder ist sie unter 10 gesetzt, wird sie jetzt auf 30 fps gesetzt. Bisher wurde kein Framerate gesetzt wenn eine Resolution angegeben war. -
Hallo zusammen,
ich habe den Adapter in meiner Test-VM installiert, damit ich evlt. meine Motioneye VM ablösen kann.
Irgendwie lässt sich der Stream aber nicht öffnen.
Meine Kamera ist eine Foscam 9900p.
Hier meine Config:
Wenn ich den rtsp Pfad im VLC Player eingebe, wird mir der Stream von der Kamera korrekt angezeigt.
Ich gehe davon aus, dass ich irgendwo einen Fehler gemacht habe...
-
@Kuddel tcpport und access port dürfen nicht gleich sein, du hast bei beiden 88.
Der Access port ist der port, über welchen du am Ende den Stream aufrufst. Wenn du dort also z.B. 8086 einträgst musst du dann die URL wie folgt aufrufen:
http://192.168.1.1:8086
(ersetze 192.168.1.1 mit der ip vom iobroker).
Der tcpport ist der port, an welchem ffmpeg den stream als websocket-stream zur verfügung stellt. Default dafür wäre 554, kannst du normalerweise so belassen. Den musst du nur anpassen, wenn du mehrere Streams hast.Falls es danach noch nicht klappt, dann bitte logdaten posten
ah und{'-r':30} ist falsch, da muss {"-r":30} rein (oder leer lassen), der Vorschlag war auch falsch von mir, habs mit dem letzten commit angepasst.