NEWS
go2rtc installieren und einrichten
-
Ja , cronjob sind nicht dafür gedacht, sondern dienen dazu wiederkehrende Aufgaben zu erledigen, nicht zum Start von Diensten. Dafür hat man sich sowas wie aktuell systemd oder sysinitv oder sonstige init-Systeme ausgedacht.
-
@thomas-braun said in go2rtc installieren und einrichten:
systemd oder sysinitv oder sonstige init-Systeme ausgedacht.
ja, systemd wollte ich versuchen und ich habe es jetzt nochmal versucht, aber ich scheitere am gleichen problem, wie in meinem anderen thread, nämlich dem absoluten pfad
meine service datei enthält:
[Unit] Description=starting go2rtc server [Service] User=odroid WorkingDirectory = </usr/local/bin/go2rtc/> ExecStart=</usr/local/bin/go2rtc_linux_arm64> Restart=always [Install] WantedBy=multi-user.target
fehlermeldung beim start....
in der log datei:Aug 15 18:13:27 odroidc2 systemd[1]: /etc/systemd/system/go2rtc.service:6: WorkingDirectory= path is not absolute: </usr/local/bin/go2rtc/> Aug 15 18:13:27 odroidc2 systemd[1]: go2rtc.service: Unit configuration has fatal error, unit will not be started. lines 1-16/16 (END)
bisher habe ich die datei am schreibtisch gehabt unter:
/home/odroid/Schreibtisch/go2rtc/go2rtc_linux_arm64gleiche fehlermeldung wenn ich unter pfad:
/home/odroid/Schreibtisch/go2rtc/go2rtc_linux_arm64
schreibe -
Wie kommst du an die spitzen Klammern im Pfad? Die haben da nix zu suchen.
-
@thomas-braun sagte in go2rtc installieren und einrichten:
Ja , cronjob sind nicht dafür gedacht, sondern dienen dazu wiederkehrende Aufgaben zu erledigen, nicht zum Start von Diensten. Dafür hat man sich sowas wie aktuell systemd oder sysinitv oder sonstige init-Systeme ausgedacht.
Mich würde interessieren wie es mit Systemd funktioniert. Gibt es dafür eine verständliche Anleitung?
-
@marc_el_k sagte in go2rtc installieren und einrichten:
Gibt es dafür eine verständliche Anleitung?
Moin,
ganz viele im WWW
Z.B. https://www.suse.com/de-de/support/kb/doc/?id=000019672
Wer sucht, der findet
VG
Bernd -
@thomas-braun
mein beitrag fehlt plötzlich. aber kurz version, es klappt alles -
@jumbo125 sagte in go2rtc installieren und einrichten:
es klappt alles
So soll es sein. Vielleicht kannst du @Marc_el_K ja noch ein paar Tips geben.
-
@marc_el_k
funktioniert es bei dir?
sonst gib bescheid -
@dp20eic Habe ich mir durchgelesen, aber tatsächlich hab ich es noch nicht gecheckt.
-
@marc_el_k sagte in go2rtc installieren und einrichten:
@dp20eic Habe ich mir durchgelesen, aber tatsächlich hab ich es noch nicht gecheckt.
Moin,
komme gerade vom
Santiano
Konzert, bin erst morgen wieder am Start.VG
Bernd -
@Marc_el_K
okay, hier nochmal die erklärung:- go2rtc_linux_.... runterladen. entweder über einen normalen browser oder über die Konsole, bspw. mit wget
- datei dort hin verschieben, wo sie ungestört bleiben kann bspw. usr/local/bin (bei mir liegt sie am desktop/Schreibtisch in einem unterordner)
- rechte vergeben, d.h. in den ordner wechseln, wo die datei nun liegt und mittels
chmod +x go2rtc_xxx_xxx
die rechte vergeben. Es geht auch mit dem vollständigen Pfad.
wechsel aber ev. trotzdem mittelscd dein/pfad
zum entsprechenden ordner.
So.... wenn du die rechte vergeben hast und dich im ordner befindest, kannst du mittels
./go2rtcxxxx
die datei ausführen.
klappt das, dann geht es weiter mit dem eintragen der go2rtcxxxx datei in die service scripte.
also:- falls du die datei ausgeführt hast, siehst du in der konsole die rückmeldungen, das der dienst läuft. schließe den laufenden prozess (terminal schließen, oder strg + c drücken)
2 nun wechsel zu dem ordner, in dem die verweise liegen, welche scripts, zum systemd dienst gehören.
cd /etc/systemd/system/
- nun befindest du dich im ordner /etc/systemd/system/
erstelle hier nun eine Datei mittels:
sudo nano go2rtc.service
- hier trage dann folgende daten ein:
[Unit] Description=starting go2rtc server [Service] User=odroid WorkingDirectory = der/pfad/zur/go2rtc-datei/aber/nur/den/ordner/indem/die/Datei/liegt ExecStart= der/Pfad/zur/datei/selbst/go2rtc_xxxxxxx Restart=always [Install] WantedBy=multi-user.target
- starte nun den server dienst neu, damit dein gerade erzeugter verweis auch geladen wird:
sudo systemctl daemon-reload
- nun kannst du das script über den zuvor erstellen verweis über systemd starten:
sudo systemctl start go2rtc.service
oder auch stoppen:
sudo systemctl stop go2rtc.service
- nun fügen wir noch das script zum systemd autostart, damit es beim neustart des pc auch gleich startet:
sudo systemctl enable go2rtc.service
falls du es aus der liste der autostart programme wieder löschen möchtest:
sudo systemctl disable go2rtc.service
hilft das?
-
Und wenn man ein Verzeichnis aus dem $PATH verwendet kann man das ganze auf direkt aufrufen.
Auf deinem Desktop liegt das verkehrt/ungünstig.
Wenn es schon im home eines Users liegen soll dann verwendet man dafür~/.local/bin
-
@jumbo125 sagte in go2rtc installieren und einrichten:
Zunächst vielen Dank für die Anleitung. Ich denke, sie wird vielen helfen. Tatsächlich fehlte mir nur der letzte Schritt und nun läuft auch alles wie gewünscht.
Ein Hinweis noch zu deiner Anleitung: Als ich begann die Datei herunterzuladen und aufzurufen, musste ich anfangs noch die Config Datei anlegen und ebenfalls mit den entsprechenden Rechten versehen. Nur für den Fall, dass dies hier noch weitere User lesen
-
@marc_el_k sagte in go2rtc installieren und einrichten:
...noch die Config Datei anlegen und ebenfalls mit den entsprechenden Rechten versehen...
Welche Datei meinst Du damit konkret (go2rtc.service oder go2rtc.yaml)?
Ich habe go2rtc bei mir dank der Hinweise von @Thomas-Braun derzeit soweit zum Laufen bekommen, daß es als Dienst via systemd nach jedem Boot startet. Der Zugriff auf die Video-Streams einer D-Link DCS-2132L (die ich zum Testen benutze) via Browser und VIS-iFrame-Widget funktioniert allerdings nicht über einen Reboot des Raspis hinaus, da ich die Configuration bisher nur über den go2rtc-Webserver/GUI eingeben konnte und go2rtc dies offenbar nicht eigenständig in go2rtc.yaml hinterlegt. Auch das vorherige Anlegen einer (leeren) go2rtc.yaml-Datei (mit Berechtigung 777) unter /usr/local/bin/go2rtc/ bringt hier keine Abhilfe. Ich nehme an, daß man die Konfiguration manuel via Editor in die go2rtc.yaml eingeben muß!? Allerdings habe ich im Netz dafür leider keine (Syntax-)Beispiele gefunden.
Wäre nett, wenn Du oder vielleicht @jumbo125 ein paar Tips geben könntet, wie Ihr Eure via GUI erstellte Konfiguration "reboot-sicher" gemacht habt oder vielleicht Eure go2rtc.yaml hier einstellen würdet?Probiere das ganze derzeit auf einem Debian11(Bullseye) auf nem Raspi4 8GB.
Edit:
Als ich meinen Beitrag eben abgeschickt hatte, kam die "Erleuchtung":
Die unter https://github.com/AlexxIT/go2rtc#source-rtsp stehenden "Code"-Beispiele sind bereits Einträge aus einer go2rtc.yaml.Ich habe daher einfach das unter "RTSP over WebSocket" stehende Beispiel:
streams: # WebSocket with authorization, RTSP - without axis-rtsp-ws: rtsp://192.168.1.123:4567/axis-media/media.amp?overview=0&camera=1&resolution=1280x720&videoframeskipmode=empty&Axis-Orig-Sw=true#transport=ws://user:pass@192.168.1.123:4567/rtsp-over-websocket
für mich so abgewandelt und es funktioniert:
streams: # Konfiguration für einen rtsp-Stream: Kamera_1_rtsp: rtsp://Benutzer:Paßwort@IPmeinerKamera:Port/live1.sdp
-
@andersmacher
tut mir leid, habe erst jetzt deinen beitrag gelesen. sonst hätte ich dir früher geantwortet.ich arbeite daran, automatisch festzustellen, wenn mein video stecken bleibt, leider ist dies immer mal wieder der fall. das neuladen des iframes hilft schon, nun muss ich nur detectieren wann es soweit ist.
Der VORTEIL: wenn das mal klaoot kann ich eine motion detection sehr einfach dazuprogrammieren. dann kann man bspw über simple api einen datenpunkt ansteuern, wenn sich voir der kamera etwas bewegt. das geht sogar soweit, das man einen bestimmten bereich der kamera überwachen kann, bspw. nur bewegung in rechter unterer ecke
-
@andersmacher schön, dass du es gelöst hast. Ich meinte die .yaml config-Datei. Diese hatte ich mir vorher erstellt und dann hochgeladen. Bei mir funktionierte es zunächst nicht, dass Änderungen abgespeichert wurden, daher der manuelle Upload. Seitdem klappt es tadellos und ist für mich bislang die ressourcenschonenste Lösung von allen getesteten.
-
@jumbo125 Danke für die Rückmeldung, aber bei mir war das Problem ja dann ohnehin bereits gelöst. Dir viel Erfolg bei Deinem weiteren Vorhaben!
-
@marc_el_k Danke auch für Deine Rückmeldung. Wenn es bei Dir mit dem "automatischen" anlegen der .yaml auch nicht funktioniert hat, kann ich ja hoffen, daß das systembedingt ist und bei mir nicht an mir lag.
-
@andersmacher bei mir lag es daran, dass Schreibrechte fehlten. Als absoluter Linux-Laie musste ich mich da erst reinfuchsen
-
@marc_el_k Bei mir muß das noch etwas anderes gewesen sein, denn auf die Rechte hatte ich eigentlich geachtet. Naja, letztendlich läufts nun ja.