-
25.10.2023, 02:17 #1
Pi Zero 2W - OpenVPN+OpenMedia+Streamlink (Dekstopzugriff)
Moin Leude,
ich habe mal eine Frage:
Ist es möglich auf einem Raspberry Pi Zero 2 W, OpenVPN + OpenMedia zu installieren und nebenbei möchte ich das Desktop Programm "Streamlink" dauerhaft laufen lassen um Streams aufzunehmen.
Falls alles nicht möglich ist, wie sähe es mit OpenMedia + Streamlink (Oder OpenVPN + Streamlink) dann aus?
Ich frage nur, weil Streamlink ja eine cmd zum starten brauch, aktuell nutze ich dafür eine batch unter Win10 und eine Aufgabenplanung zum dauerhaften Starten damit ich die batch nicht manuell starten brauche.
Und da ich nie etwas anderes als Win10 genutzt habe, frage ich mal hier, immerhin is dieses Forum ja extra dafür da.
Außer es ist sowieso tot wo man wie bei vielen Foren leider keine Antwort kriegt. o.O?
Wäre um Hilfe Dankbar.
Vielen Dank
Greetz
-
25.10.2023, 19:22 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 7.852
- Blog Entries
- 5
Thanked 9.363 Times in 3.202 PostsAW: Pi Zero 2W - OpenVPN+OpenMedia+Streamlink (Dekstopzugriff)
Hi,
zunächst einmal solltest du dir bewusst sein: Alle Raspberry Pi Zeros lassen sich nur per WLAN einbinden und sind daher als Server nicht optimal. Kann je nach Umständen egal sein oder Probleme verursachen, daher würde ich das im Hinterkopf behalten.
Ein VPN-Server mit OpenVPN ist möglich. Ich würde mir für neue Installationen WireGuard anschauen. Das ist weniger komplex, schneller und halt technisch über 10 Jahre jünger, schleppt also weniger Altlasten herum. Beides ist beispielsweise über PiVPN möglich. Wenn du keine Erfahrung damit hast, würde ich so was einer händischen Installation vorziehen. Vor allem, wenn der VPN-Server übers Internet erreichbar ist. Das Thema ist nicht ganz ohne, vor allem bei OpenVPN kann man einiges falsch machen. Grundlegende GNU/Linux-Kenntnisse solltest du trotzdem haben oder dir aneignen: RPI installieren, Nutzerkonten anlegen, Updates einspielen und so weiter, damit du das einrichten & warten kannst.
CMD ist die alte Windows-Shell. Was du für einen Raspberry Pi brauchst, ist Unterstützung für GNU/Linux und die ARM-Prozessorarchitektur. Wenn du dieses Streamlink meinst, die unterstützen GNU/Linux und bieten auch eine ARM-Version an. Allerdings aarch64, d.H. ARM ausschließlich in 64 Bit. Du brauchst somit eine 64 Bit Installation vom Raspberry Pi OS, das gibt es in 32 und 64 Bit. Leistungstechnisch könnte das dünn werden, je nachdem was die SW konkret macht & in welcher Auflösung.
Openmediavault ist ein NAS-Betriebssystem, spätestens hier ist der Zero 2W viel zu schwach bestückt mit seinem 1GHz Prozessor und 512 MB RAM. Die Doku sagt auch klar mindestens 1 GB Arbeitsspeicher. Und das würde ich echt als Mindestanforderung sehen, je nach gewünschten Diensten kommst du damit nicht besonders weit. Ganz abgesehen davon brauchst du für ein NAS ja auch Speicher. An einen normalen Pi könnte man sich mit USB-Festplatten noch irgendwie was einfaches ohne große Ansprüche zusammen basteln, aber beim Zero? Der kann vielleicht reichen, wenn nur ein kleiner Dateiserver drauf laufen soll und da auch nichts groß passiert, sodass man das auf der Micro-SD Karte betreiben kann.
Ich würde die Sache anders herum angehen und erst mal einen zumindest groben Plan machen, was du konkret betreiben möchtest. Oder je nachdem wie weit du bist, auch erst mal, welche Probleme gelöst werden sollen. Anschließend die passende Software sowie Hardware dafür suchen. Vor allem nachdem du offensichtlich mehrere Dinge betreiben möchtest, muss da auf jeden Fall was stärkeres her, als ein Zero 2W. Der reicht höchstens zum Einstieg, um mit der Plattform und generell GNU/Linux vertraut zu werden (was als Einsteiger eine sinnvolle Idee ist). Oder evtl. als 24/7 System, wenn du z.B. den VPN dauerhaft betreiben willst, aber das NAS aus Stromspargründen bei Bedarf hochfahren oder so was. Auch Verfügbarkeit ist ein Punkt, den ich in die Anforderungen mit aufnehmen würde. Und mindestens beim NAS solltest du über Sicherungen nachdenken. Was du im besten Falle jetzt schon gemacht hast, weil dir i.d.R. kein Anbieter (nein, auch kein Clouddienst) die Backups vollständig abnimmt.
-
The Following 2 Users Say Thank You to DMW007 For This Useful Post:
-
26.10.2023, 11:38 #3
AW: Pi Zero 2W - OpenVPN+OpenMedia+Streamlink (Dekstopzugriff)
Hi,
erst einmal Danke für deine ausführliche Antwort und Info.
Genau um diesen Streamlink geht es.
Der Thread kam nur zu Stande, weil ich mir dann schon denken hätte können, das für alles der Raspberry nicht ausreichen wird, daher hatte ich es in Optionen wie VPN + oder VPN + geändert.
Daher dachte ich das wenigstens eine abgeschwächte Idee wie VPN Und Streamlink geht.
Da OpenMedia ja eh mehr brauch, hat sich das Thema erstmal erledigt bis ich den neuen Pi habe oder mir generell eine Fertige NAS hole, damit ich die genannten Probleme dann nicht habe.
Dann bleibt ja nur noch VPN (PiVPN) mit Streamlink.
Laut PiVPN läuft dies auch unter dem Zero: PiVPN runs at least on the following hardware Raspberry Pi models (1/2/3/4/Zero)
wodurch ich mich am Wochenende wo ich nicht arbeiten muss, dran setzten werde.
Bräuchte dann etwas Hilfe bei diesem Problem:
(Streamlink nutze ich, weil viele keine VoDs mehr haben und ich den Stream aber nicht verpassen möchte)
Normalerweise betreibt man Streamlink in der CMD, da ich dies aber Automatisiert haben wollte (24/7), habe ich mir eine batch erstellt, diesen Befehl erarbeitet und diese dann mit der Aufgabenplanung fortlaufen lassen.
Code:@echo off for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" set "DD=%dt:~6,2%" & set "MM=%dt:~4,2%" & set "YYYY=%dt:~0,4%" & set "YY=%dt:~2,2%" set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" set "datestamp=%DD%%MM%%YYYY%" set "timestamp=%HH%%Min%%Sec%" set "fullstamp=%DD%-%MM%-%YYYY%__%HH%-%Min%-%Sec%" :loop @echo off echo: echo:\033[96m#start \033[32m"%time:~0,8% Uhr" | xcmdcolor.exe echo:\033[96m#record \033[32m"Channel" | xcmdcolor.exe echo: streamlink -o "C:\Users\NAME\Documents\TOOLS\CMD\xREC\NAME__[%fullstamp%]__{title}__{category}.mp4" twitch.tv/NAME best --twitch-disable-ads && @echo & echo: & echo: & echo ################## & echo # Recording DONE # & echo ################## & echo: && timeout /t 3 && exit echo:} timeout /t 5 goto loop
Qualität ist "Source" also mindestens 720p +.
Was mich dann aber nun zur frage bringt, da ich Linux selten genutzt habe, wie ich das Problem mit der Batch und Aufgabenplanung behebe um die "CMD" dauerhaft zu starten (24/7)? Mein aktueller Weg steht ja oben, nur ich bezweifle das alles gleich sein wird oder?
Was ich dachte wie es dann läuft:
Streamlink nimmt immer wenn ein Channel auf Twitch online ist, diesen dann auf und speichert den (eigentlich immer der selbe und immer nur 1. selten kommt es vor das ich 2. gleichzeitig aufnehme oder den Channel ändere). Ich komme in der Nacht von der Arbeit wieder, greife auf den Pi zu, ziehe mir den Stream den er aufgezeichnet hat vorübergehend auf meine Platte und schaue es mir beim Essen an (außer ich kann den direkt auf dem Pi anschauen).
Wenn möglich, würde ich auch von unterwegs auf den PI zugreifen um einen Channel manuell aufzunehmen oder in der Lösung für die batch den Namen zu einem anderen ändern. (Sofern das jetzt nicht wieder zu viel für den kleinen wird^^)
Dies wäre nun mein Endziel wozu ich Hilfe bräuchte.
Vielen Dank
-
31.10.2023, 01:08 #4
- Registriert seit
- 15.11.2011
- Beiträge
- 7.852
- Blog Entries
- 5
Thanked 9.363 Times in 3.202 PostsAW: Pi Zero 2W - OpenVPN+OpenMedia+Streamlink (Dekstopzugriff)
Hey,
Für einen Raspberry Pi Zero (2)W ist das zu viel. Der ist auf wenig Platz & geringen Stromverbrauch optimiert, hat weniger Arbeitsspeicher und den Prozessor vom Vorgänger. Auf einen normalen Pi kannst du mehr drauf packen, den RPI 4 (und ganz aktuell 5) gibt es mit bis zu 8 GB Arbeitsspeicher, der Zero hat 0,5 GB und auch die CPU ist schwächer. Nur mal so als grobe Einordnung um aufzuzeigen, dass der weitaus weniger Power hat.
Insbesondere bei einem fertigen NAS solltest du dir vorher auch Gedanken machen, was das kann und was du willst. Die haben teilweise Möglichkeiten, dort über Erweiterungen/Container z.B. einen VPN-Server drauf laufen zu lassen. Bedenke aber, die fertigen sind i.d.R. proprietäre Systeme, an die du ggf. ohne weiteres nicht ran kommst, falls das nicht reichen sollte. Und insbesondere die günstigeren haben nicht übermäßig Leistung, um da großartig zig Sachen drauf zu packen. In jedem Falle den Lebenszyklus beachten und keine Geräte außerhalb des Supports ans Internet hängen - auch da bist du bei solchen geschlossenen Systemen voll vom Hersteller abhängig. Wird halt die Verantwortung auf den geschoben, dafür nimmt der dir die Arbeit ab, das einzurichten & großteils auch zu warten. Daher: Überlege dir, was du willst, was wo laufen soll und suche dann was dazu passendes. Auch fertige NAS gibt es von kleine Keksdose mit 1-2 Einschüben bis hin zum 19 Zoll Rack auf 2 Höheneinheiten fürs Rechenzentrum.
Das sieht nach Batchskript aus. CMD ist die Shell, die Windows automatisch bei Batchdateien (.bat) startet. Die Befehle sind die gleichen, nur hast du bei Batchskripten halt wie der Name schon sagt ein Skript mit einer Reihe von Befehlen, die nacheinander entsprechend ausgeführt werden. Ich habe kein Windows hier um 1:1 zu schauen was bei denen Dingen raus kommt wo ich nicht mehr tief genug drin bin, aber das grundlegende sollte kein Problem sein: Der startet in einer Endlosschleife die streamlink Binärdatei, übergibt einen Pfad mit Datum/Zeitstempel und wiederholt das alle 5 Sekunden. Ich vermute mal, das Programm gibt einen Fehler aus, wenn es nichts zum aufnehmen gibt. So prüft der das alle 5 Sekunden bis ein Stream da ist, der wird aufgenommen & danach wartet er nochmal 3s extra. Was mich nur wundert ist, dass die Variablen oben alle außerhalb der Schleife gesetzt werden. Müsste wenn ich mich nicht täusche dazu führen, dass wenn du das Skript heute (30.10.) startest und morgen (31.10) ein Stream los geht, der 31.10. als Zeitstempel rein schreibt. Finde ich wenig sinnvoll, der Streamzeitpunkt wäre mMn interessanter, als der des Skriptes. Je nachdem was du willst muss die Variable halt auch wieder außerhalb der Schleife gesetzt werden.
So sehe ein grundlegendes Batch-Skript aus:
Code:#!/bin/bash while true; do ts=$(date +"%d.%m.%Y-%H.%I.%S.%s") echo $ts sleep 5 done
Statt dem echo (das den Zeitstempel ausgibt) müsste da dein streamlink Aufruf rein. {title}/{category} sind keine mir bekannten Batch-Variablen, ich vermute das sind Platzhalter, die dein Tool von Twitch holt und ersetzt. Dann müsste das (ungetestet) ungefähr so aussehen, wenn du danach noch 3s mehr Wartezeit haben willst:
Code:streamlink -o "/dein/zielpfad/$ts__{title}__{category}.mp4" twitch.tv/NAME best --twitch-disable-ads && sleep 3
Code:#!/bin/bash Green='\033[0;32m' Red='\033[0;31m' echo "Hi" echo -e "${Green}Das hat geklappt" echo -e "${Red}Das lief schief"
Die Aufgabenplanung ist was eigenes von Windows, das es in der Form so nirgendwo anders gibt. In der GNU/Linux-Welt nutzt man überwiegend Systemd-Dienste, um etwas im Hintergrund automatisch mit dem System zu starten. Oder gleich in Container packen, der per Restart-Policy automatisch mit Docker gestartet wird. Sonst gibt es auch noch den Bastelweg mit screen, würde ich nicht unbedingt machen. Systemd ist vmtl. noch am einfachsten, wenn du nicht vor hast, dich mit Container zu beschäftigen.
Mit deinem Erfahrungsstand würde ich das Fass aber erst später aufmachen und mich erst mal damit beschäftigen, dass ich per SSH auf den drauf komme, das Skript zum Laufen kriege und es im Vordergrund starte. Das wird dann zwar beim beenden der SSH-Verbindung ebenfalls geschlossen, macht als ersten Meilenstein mehr Sinn. Wenn das läuft, kannst du dich darum kümmern, wie du es automatisch im Hintergrund startest.
Auf dem Raspberry Pi kann man auch eine grafische Desktopumgebung installieren, dann geht beides. Aber nicht auf dem Zero, der ist zu schwach für so was, dafür brauchst du einen normalen 4 aufwärts, damit das halbwegs vernünftig läuft. Der Zero könnte dir die Aufnahme auf einen Dateiserver oder was anderes schieben bzw den mounten und gleich dort hin schreiben. Technisch auch in eine public cloud laden, wenn dir das nicht zu heiß ist.
Geht, du brauchst eine Schnittstelle dafür und solltest dir Gedanken machen, wie die geschützt wird (am besten nur per VPN erreichbar). Beispielsweise eine kleine Weboberfläche, wo man das hinterlegt. Oder ein Telegram-Bot, da gibt es diverse Möglichkeiten. Sobald es dynamisch wird (mehr als einen Kanal gleichzeitig), musst du skalieren, z.B. durch Multithreading. Die Skripte aus diesem Thread sind sehr simpel, sobald eine Aufnahme läuft sind die technisch blockiert, bis der Stream endet. Für weitere Aufnahmen müsstest du das Skript mehrmals starten. Das wird von Unterwegs auf einem Handy/Tablet ohne vernünftige Tastatur wenig Spaß machen. Sofern es so was nicht schon fertig gibt, wirst du für eine komfortabel zu bedienende Lösung, bei der du 2 Nutzernamen eingibst, die kurz darauf stetig auf neue Streams geprüft werden, ein bisschen Arbeit haben.
Zum Thema zu viel werden: Zuerst würde ich auf dem Zero mal eine Aufnahme starten, sodass der wirklich was zum aufnehmen hat. Also nicht laufen lassen, während kein Stream läuft, diese Schleife alle 5s verursacht keine nennenswerte Last. Schau dir mit htop (ggf. vorher mit sudo apt install htop installieren) in einem zweiten Fenster (2. SSH Verbindung) parallel an, wie ausgelastet der ist. Du kannst dir in htop auch eine Zeile mit der Gesamtauslastung aller Kerne einblenden lassen, ich hab dazu mal einen Einstiegsbeitrag gemacht. Das ist am einfachsten, aber es geht hier nicht darum, ob es 10 oder 11% sind. Sondern um zu sehen, ob und ungefähr wie viel Luft da noch ist, um evtl. einen zweiten Stream parallel aufzuzeichnen.
Das kommt stark darauf an, wie das Programm vorgeht bzw. vorgehen muss, was wiederum davon abhängt, was Twitch liefert. Wird es einfach nur heruntergeladen und unverändert abgespeichert, sollte es kein Thema sein. Aber wenn der die Daten vorher noch umwandelt, in einen anderen Codec oder so was, dann könnte der schon mit einer Aufnahme gut beschäftigt sein.
-
The Following User Says Thank You to DMW007 For This Useful Post:
Iomega (01.11.2023)
-
01.11.2023, 12:04 #5
AW: Pi Zero 2W - OpenVPN+OpenMedia+Streamlink (Dekstopzugriff)
Erneut vielen Dank für deine ausführliche Antwort.
Du hast mich eindeutig weiter gebracht.
Dann werde ich mir um die eigentlichen vorhaben, wohl den Pi4 zulegen, da der 5 aktuell noch sehr teuer ist.
Was das Thema NAS angeht, warte ich dann wohl erstmal bis es soweit ist, da aktuell andere Baustellen habe und dies aktuell noch nicht dringend ist.
Ist aber gut zu wissen das man auf einer Fertigen NAS (einen Ordentlichen) mit Erweiterungen einen VPN drauf installieren kann.
Das geschlossene und gebunde ist dann etwas blöd, aber ich denke die Gedanken werde ich nochmal angehen, wenn es soweit ist und mir dann Empfehlungen und Hilfe holen, je nachdem was ich mir dann vorstelle.
Was das Batchscript mit der Zeit angeht, habe ich dies mit der Aufgabenplanung gelöst.
Täglich startet die Aufgabenplanung die Batch um 00:00 Uhr und um 23:59 Killt er die, damit ich genau dieses Problem nicht habe.
Zuvor war es nämlich wirklich so, das er mir dann ab 00:01 das Datum von gestern rein geschrieben hat.
Daher war das vorerst meine Lösung.
Deinen genannten Code:
Code:#!/bin/bash while true; do ts=$(date +"%d.%m.%Y-%H.%I.%S.%s") echo $ts sleep 5 done
.
Richtig,{title}/{category} zieht Streamlink sich aus Twitch um die gennanten Titel in die Datei als Titel zu schreiben.
Das mit den Farben geht? LUL
Ich hatte extra geschaut und da waren so viele Beiträge wo man sagte das es nicht ginge.
Vllt war es aber auch zu alt.
Teste ich daher auch gleich, danke dafür
Schade das es mit der Aufgabenplanung nicht aufm Linux geht, da bleibt ja auch nur noch rein arbeiten mit dem Docker etc..
Wird gemacht, jeder Anfang is schwer und da muss man leider klein anfangen.
Interessant, das hört sich gut an, dann muss ich erstmal den 4er für die Desktopumgebung holen.
Danke für deine ganze mühe, das ist sehr viel Information, aber das wird schon, werde aber bestimmt wieder Hilfe brauchen, dann melde ich mich sowieso wieder.
Versuche mich aber erstmal so durchzuschlagen.
Mal schauen wie weit ich komme.
Danke dir nochmal für die ausführliche Hilfe.
Greetz
-
The Following User Says Thank You to Iomega For This Useful Post:
DMW007 (05.11.2023)
-
05.11.2023, 13:03 #6
- Registriert seit
- 15.11.2011
- Beiträge
- 7.852
- Blog Entries
- 5
Thanked 9.363 Times in 3.202 PostsAW: Pi Zero 2W - OpenVPN+OpenMedia+Streamlink (Dekstopzugriff)
Kein Problem, dafür ist die Community ja da
Der Raspberry Pi 5 hat vor allem mehr Prozessorleistung. Für die von dir zuletzt genannten Dinge würde der RPI 4 wahrscheinlich ausreichen. Ein RPI5 wird eher interessant, wenn es um höhere Auflösungen geht oder weitere Dinge zusätzlich darauf laufen sollen. Wenn du jetzt etwas brauchst, stellt sich die Frage aber ohnehin nicht. Es gab kurz nach dem Marktstart einen Shop, der den RPI5 für einige Stunden liefern konnte. Auch zu einem recht vernünftigen Preis, für die 99€ gab es ein komplettes Kit. Seit dem habe ich nur einmal mitbekommen, dass ein Shop lieferfähig ist. Das war gestern und dort gab es nur den großen mit 8 GB für rund 110€. Also derzeit schwierig einen zu bekommen, vor allem wenn man eine spezielle Variante möchte. Das wird sicher noch einige Wochen dauern, bis sich das bessert.
Bei Verfügbarkeit ist das Preis-Leistungsverhältnis beim RPI5 jedoch besser: Der Aufpreis ist moderat im Vergleich zur gestiegenen Leistung. Wenn er verfügbar ist bzw. man mit einem Projekt noch etwas warten kann, würde ich mir schon überlegen, ob ich da noch den Vorgänger kaufe. Zumindest bei der 4 und 8 GB Variante. Wer so viel RAM möchte, profitiert tendenziell von mehr Power. Derzeit gibt es den 5er ja noch nicht in 1/2GB. Da sieht die Sache natürlich anders aus. Würde ein RPI 4 mit 2 GB RAM ausreichen, macht der deutliche Mehrpreis im Vergleich zu einem 5er mit mindestens 4 GB Arbeitsspeicher wenig Sinn. Außer eben, die 2 GB reichen nur im Moment und es ist absehbar, dass das bald nicht mehr der Fall sein wird, weil man weitere Software plant, die mehr Ressourcen benötigt.
-
The Following User Says Thank You to DMW007 For This Useful Post:
Iomega (06.11.2023)
Ähnliche Themen
-
Win7 OpenVPN Alternative?
Von Devon im Forum WindowsAntworten: 5Letzter Beitrag: 27.07.2015, 12:45 -
IP Leaks verhindern - nur über VPN ins Internet (openvpn)
Von Tony Montana im Forum SecurityAntworten: 2Letzter Beitrag: 18.12.2013, 02:29 -
Win7 OpenVPN Problem
Von Noize im Forum WindowsAntworten: 1Letzter Beitrag: 21.11.2013, 15:59 -
OpenVPN automatisch verbinden
Von ThunderStorm im Forum SoftwareAntworten: 1Letzter Beitrag: 13.02.2013, 18:47
Stichworte
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.