NEWS
Test Adapter rtspStream v0.0.x GitHub
-
Hallo wawyo,
auf der von dir geänderten Admin-Seite gibt es doch ein Feld für den TCP-Port, ich dachte das genügt.
Ich habe jetzt trotzdem im Pfad zusätzlich mal den Port mit angegeben, ohne Erfolg.
Der Fehler tritt erst seit den letzten Systemupdates vom RaspberryPi4 bzw. IoBroker auf. Welches Update es jetzt genau war, kann ich leider nicht mehr sagen. Hier noch die Systeminfos.
-
@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
Achtung! Bitte Backup erstellen.
sudo iobroker backup sudo apt-get autoremove ffmpeg sudo iobroker del iobroker rtspstream
sudo reboot
sudo apt-get update sudo apt-get install ffmpeg sudo apt-get install lame sudo npm install https://github.com/dbweb-ch/ioBroker.rtspStream
Iobroker rtspStream Adapter installieren
sudo chmod 777 /opt/iobroker/node_modules/iobroker.rtspStream/main.js sudo chmod 777 /opt/iobroker/iobroker-data/files/rtspStream.admin/index_m.html sudo wget -P /opt/iobroker/node_modules/iobroker.rtspStream/ https://forum.iobroker.net/assets/uploads/files/1581488900029-main.js sudo wget -P /opt/iobroker/iobroker-data/files/rtspStream.admin/ https://forum.iobroker.net/assets/uploads/files/1581456034239-index_m.html sudo mv -b /opt/iobroker/node_modules/iobroker.rtspStream/1581488900029-main.js /opt/iobroker/node_modules/iobroker.rtspStream/main.js sudo mv -b /opt/iobroker/iobroker-data/files/rtspStream.admin/1581456034239-index_m.html /opt/iobroker/iobroker-data/files/rtspStream.admin/index_m.html sudo iobroker reboot
-
-
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.