diff --git a/Kapitel 12/Premium Rohtext.md b/Kapitel 12/Premium Rohtext.md new file mode 100644 index 0000000..792952a --- /dev/null +++ b/Kapitel 12/Premium Rohtext.md @@ -0,0 +1,575 @@ +# Premium – Lokale Einbindung & Erweiterte Nutzung des Asset-LXC + +Im bisherigen Kapitel wurde der Asset-LXC als zentrale Datei- und Medienablage eingerichtet. +Filebrowser und Nginx übernehmen dort die Verwaltung, Strukturierung und Bereitstellung sämtlicher Streaming-Assets – von Overlays bis zu Videodateien. +Damit steht eine stabile Grundlage für Content-Produktion und Streaming im lokalen Netzwerk. + +Im Premium-Teil erweitern wir dieses System gezielt für den professionellen Einsatz. +Ziel ist, die im Filebrowser gespeicherten Dateien nicht mehr über Browserquellen in OBS zu laden, +sondern direkt – ressourcenschonend und ohne Chromium-Prozesse. +Dazu wird das Dateisystem des Asset-LXC lokal eingebunden, sodass Windows, macOS oder Linux +die dort hinterlegten Dateien wie ein gewöhnliches Laufwerk ansprechen können. + +Damit erreichst du: + +- **schnelleren Zugriff** auf große Dateien (Videos, Sounds, Overlays) +- **reduzierte RAM- und CPU-Last**, da kein Browser-Rendering nötig ist +- **zentrale Pflege** aller Assets – Änderungen im Filebrowser sind sofort überall verfügbar +- **saubere Trennung** zwischen Streaming-System und Datenablage + +Zusätzlich zeigen wir, wie die Laufwerksbindung automatisiert gestartet und überprüft wird, +damit keine manuelle Freigabe nötig ist – ideal für Stream-PCs, die automatisch hochfahren und sofort produktionsbereit sind. + +> [!NOTE] +> Diese Erweiterung setzt einen vollständig eingerichteten und funktionierenden Asset-LXC voraus. +> Alle Konfigurationen aus dem Free-Kapitel bleiben unverändert bestehen. +> Hier wird ausschließlich die lokale Anbindung ergänzt, keine Neuinstallation vorgenommen. + +Am Ende dieses Kapitels arbeitest du mit einem vollständig integrierten System: +Der Asset-LXC dient als Speicher, der Windows- oder Linux-Client greift direkt darauf zu, +und OBS lädt alle Overlays, Videos und Sounds ohne Umwege oder zusätzliche Prozesse. +Das System bleibt schlank, performant und vollständig unter eigener Kontrolle. + +--- + +## Freigabe im Asset-LXC vorbereiten + +Bevor die lokale Einbindung auf dem Windows-Rechner erfolgt, +muss der bestehende Asset-Container die benötigten Daten korrekt bereitstellen. +Ziel ist, dass alle Assets zentral in einem definierten Pfad liegen und +von dort aus sowohl über Filebrowser als auch über die lokale Verbindung genutzt werden können. + +Die Struktur im Container bleibt unverändert, sie wird lediglich überprüft und bei Bedarf ergänzt. +Alle nachfolgenden Schritte betreffen ausschließlich die Organisation und Zugriffsfreigabe – +nicht die Installation zusätzlicher Dienste. + +### Verzeichnisstruktur prüfen + +Standardpfad des Asset-LXC: + +```bash +/srv/assets/ +``` + +Dort sollten sich die Unterordner für Overlays, Videos, Sounds und sonstige Dateien befinden. +Prüfe die Struktur mit: + +```bash +ls -l /srv/assets +``` + +Beispielausgabe: + +``` +overlays/ +videos/ +sounds/ +misc/ +``` + +Falls einzelne Ordner fehlen, können sie jederzeit ergänzt werden: + +```bash +mkdir -p /srv/assets/{overlays,videos,sounds,misc} +chown -R www-data:www-data /srv/assets +chmod -R 755 /srv/assets +``` + +> [!NOTE] +> Alle Dienste im Container – Filebrowser, Nginx und die lokale Freigabe – +> greifen auf denselben Pfad zu. +> Änderungen über Filebrowser sind somit sofort auch lokal sichtbar. + +### Dateinamen und Caching + +OBS kann nur Dateien laden, deren Namen keine Leer- oder Sonderzeichen enthalten. +Empfohlenes Muster: + +``` +overlay_alert_1.png +intro_scene.mp4 +sound_click.wav +``` + +Bei Änderungen im laufenden Betrieb kann es vorkommen, dass OBS alte Dateien im Speicher hält. +In diesem Fall hilft es, das Overlay neu zu laden oder kurz zwischen Szenen zu wechseln. +Das Verhalten ist normal und kein Fehler der Freigabe. + +### Zugriff vorbereiten + +Für die lokale Einbindung (z. B. als Netzlaufwerk unter Windows) +muss der Container über das interne Netzwerk erreichbar sein. +Falls noch keine feste Adresse vergeben wurde: + +```bash +ip a +``` + +Beispielausgabe: +``` +inet 192.168.100.50/24 +``` + +Diese IP wird im nächsten Abschnitt auf dem Windows-Rechner benötigt. +Wenn DHCP verwendet wird, sollte die Adresse im Router dauerhaft reserviert werden, +damit sich der Pfad zu den Assets nicht ändert. + +> [!TIP] +> Verwende kurze, eindeutige Hostnamen im lokalen DNS oder im Pi-hole-DHCP. +> Beispiel: `assets.local` oder `assets.lan` +> Das erleichtert spätere Anpassungen in OBS und TouchPortal erheblich. + +## Verbindung vom Windows-Rechner herstellen + +Nachdem die Struktur im Container überprüft und die IP-Adresse bekannt ist, +kann der Streaming-PC die Dateien direkt als Netzlaufwerk einbinden. +Damit lassen sich Overlays, Sounds oder Videos in OBS verwenden, +ohne dass ein Browserprozess im Hintergrund Ressourcen belegt. + +### SMB-Freigabe anlegen + +Im Asset-LXC ist Samba bereits installiert und aktiv. +Die Freigabe selbst wird jetzt eingerichtet und nur lesend freigegeben. + +Öffne die Konfigurationsdatei: + +```bash +nano /etc/samba/smb.conf +``` + +Am Ende der Datei folgenden Block einfügen: + +``` +[assets] + comment = Asset Freigabe + path = /srv/assets + browseable = yes + read only = yes + guest ok = no + create mask = 0644 + directory mask = 0755 +``` + +Datei speichern (**Strg + O**, **Enter**, **Strg + X**) +und Dienst neu starten: + +```bash +systemctl restart smbd +``` + +> [!NOTE] +> Diese Freigabe ist nur innerhalb deines Heimnetzes sichtbar. +> Der Zugriff erfolgt standardmäßig über Port `445` (SMB3). +> Externe Verbindungen sind aus Sicherheitsgründen nicht erlaubt. + +### Zugriff testen + +Auf dem Streaming-PC (Windows): + +1. Öffne **Dateiexplorer → Dieser PC → Netzlaufwerk verbinden** +2. Wähle einen freien Laufwerksbuchstaben (z. B. `Z:`) +3. Als Ordner eintragen: + ``` + \\192.168.100.50\assets + ``` + *(IP-Adresse ggf. anpassen)* +4. Haken setzen bei **Verbindung mit anderen Anmeldeinformationen herstellen** +5. Benutzername `assetread`, Passwort wie bei der Samba-Erstellung +6. Mit **Fertig stellen** bestätigen + +Wenn alles korrekt eingerichtet ist, +erscheint das Laufwerk im Explorer und die Asset-Dateien sind direkt sichtbar. + +> [!TIP] +> Für eine saubere Zuordnung empfiehlt sich der Laufwerksbuchstabe **A:** oder **Z:** – +> beide werden von Windows selten automatisch vergeben und sind leicht wiederzuerkennen. + +### Automatische Verbindung beim Systemstart + +Damit das Laufwerk beim Hochfahren automatisch verbunden wird: + +1. Öffne eine PowerShell mit Administratorrechten +2. Führe folgenden Befehl aus: + +```powershell +New-PSDrive -Name "A" -PSProvider FileSystem -Root "\\192.168.100.50\assets" -Persist -Credential (Get-Credential) +``` + +Nach der Eingabe von Benutzername und Passwort wird die Verbindung dauerhaft gespeichert. +Beim nächsten Neustart verbindet Windows das Laufwerk automatisch. + +> [!NOTE] +> Solltest du die Freigabe später ändern oder löschen wollen: +> ``` +> net use A: /delete +> ``` +> Danach kann die Verbindung neu angelegt werden. + +### Verbindung prüfen + +Im Explorer sollten alle bekannten Asset-Ordner (`overlays`, `videos`, `sounds`) erscheinen. +Wenn ein Zugriff fehlschlägt, prüfe folgende Punkte: + +- IP-Adresse des Containers korrekt? +- Firewall auf Windows blockiert SMB? +- Samba-Dienst im LXC aktiv (`systemctl status smbd`)? +- Benutzername und Passwort stimmen? + +Sobald das Laufwerk stabil verbunden ist, +kann OBS die Dateien direkt aus diesem Pfad laden, +ohne zusätzliche Web- oder Proxy-Schichten. + +## Automatische Einbindung beim Systemstart + +Damit die Asset-Freigabe dauerhaft verfügbar bleibt, +soll sie beim Start von Windows automatisch eingebunden werden. +So stellt OBS beim Öffnen immer denselben Pfad bereit – +egal, ob der PC neu gestartet oder zwischenzeitlich vom Netzwerk getrennt wurde. + +### Variante 1 – über Windows-Anmeldung (empfohlen) + +Diese Methode nutzt das Benutzerprofil und erfordert keine zusätzliche Software. +Sie ist stabil, schnell und wird auch von OBS ohne Verzögerung erkannt. + +1. Öffne **Dateiexplorer → Dieser PC** +2. Rechtsklick auf das zuvor verbundene Laufwerk (z. B. `Z:`) +3. Wähle **Immer beim Anmelden neu verbinden** +4. Windows merkt sich die Anmeldeinformationen und verbindet das Laufwerk automatisch + +> [!TIP] +> Wenn der Streaming-PC mehrere Benutzerkonten hat, +> muss die Option pro Konto gesetzt werden. + +### Variante 2 – über PowerShell (systemweit) + +Für Setups mit mehreren Arbeitsplätzen oder automatisierten Startvorgängen +(z. B. bei dedizierten Streaming-PCs oder TouchPortal-Rechnern) +ist eine systemweite Lösung besser geeignet. + +Erstelle eine PowerShell-Datei, z. B.: + +```powershell +notepad C:\Scripts\MountAssets.ps1 +``` + +Inhalt: + +```powershell +$User = "assetread" +$Password = ConvertTo-SecureString "DEIN_PASSWORT" -AsPlainText -Force +$Credential = New-Object System.Management.Automation.PSCredential ($User, $Password) +New-PSDrive -Name "A" -PSProvider FileSystem -Root "\\192.168.100.50\assets" -Persist -Credential $Credential +``` + +Datei speichern und im Autostart-Ordner ablegen: + +``` +C:\Users\\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup +``` + +Beim nächsten Hochfahren wird das Laufwerk automatisch verbunden. + +> [!WARNING] +> Das Passwort wird im Skript im Klartext gespeichert. +> Wenn du auf Nummer sicher gehen willst, +> verwende stattdessen die GUI-Methode (Variante 1) oder ein lokales Credential-File. + +### Variante 3 – über Gruppenrichtlinie (optional, mehrere PCs) + +Wenn das Asset-System in einem größeren Setup (z. B. Studio mit mehreren Arbeitsplätzen) verwendet wird, +kann das Laufwerk zentral per Gruppenrichtlinie verteilt werden: + +1. **Win + R → gpedit.msc** +2. **Benutzerkonfiguration → Windows-Einstellungen → Laufwerkszuordnungen** +3. Neues Laufwerk hinzufügen + - Laufwerksbuchstabe: `A:` + - Pfad: `\\assets.local\assets` + - Verbindung beim Anmelden wiederherstellen → aktivieren + +Diese Methode bietet maximale Kontrolle, +ist aber für Einzelplatz-Streamer meist überdimensioniert. + +### Kontrolle und Test + +Nach jedem Neustart prüfen: + +```powershell +Get-PSDrive A +``` + +Wenn der Eintrag erscheint, ist die Einbindung aktiv. +Fehlt er, wurde das Skript nicht ausgeführt oder die Netzwerkkarte war beim Bootvorgang noch nicht bereit. + +> [!TIP] +> Bei WLAN-Verbindungen kann es vorkommen, +> dass Windows das Laufwerk vor Aufbau der Verbindung mounten will. +> In diesem Fall im PowerShell-Skript eine kurze Verzögerung ergänzen: +> ```powershell +> Start-Sleep -Seconds 10 +> ``` +> Danach wird das Laufwerk zuverlässig hergestellt. + +## Test und Integration in OBS + +Nachdem das Asset-Laufwerk erfolgreich verbunden ist, +kann es direkt in **OBS Studio** eingebunden werden. +Der entscheidende Vorteil: +Alle Overlays, Sounds oder Videodateien werden lokal aus dem Netzlaufwerk geladen – +ohne Browserquelle, ohne Chromium-Rendering, deutlich ressourcenschonender. + +### Pfadaufbau + +Windows weist dem verbundenen Laufwerk einen Buchstaben zu (z. B. `A:`). +Die Struktur entspricht exakt dem Aufbau im Container: + +``` +A:\ + ├─ overlays + ├─ videos + ├─ sounds + └─ misc +``` + +Dateien, die du über Filebrowser oder Nextcloud hochlädst, +erscheinen hier automatisch – Änderungen sind sofort sichtbar. + +> [!NOTE] +> OBS behandelt das Netzlaufwerk wie ein lokales Verzeichnis. +> Du kannst alle Quellen direkt aus `A:\overlays` oder `A:\videos` hinzufügen. + +### Quelle hinzufügen + +1. Öffne OBS +2. Wähle im **Quellen-Fenster → Plus-Symbol → Bild** (oder **Medienquelle**) +3. Klick auf **Durchsuchen** +4. Navigiere zum Laufwerk `A:` +5. Datei auswählen (z. B. `overlay_alert_1.png`) +6. Mit **OK** bestätigen + +Das Overlay wird sofort geladen und angezeigt. +Beim nächsten Start von OBS zieht die Software automatisch dieselbe Datei erneut vom Laufwerk. + +> [!TIP] +> Wenn du mehrere Systeme (z. B. Streaming- und Schnitt-PC) nutzt, +> achte darauf, dass beide denselben Laufwerksbuchstaben verwenden. +> So bleiben Szenen und Pfade kompatibel. + +### Verhalten bei Änderungen + +- **Datei ersetzt:** OBS lädt beim nächsten Start automatisch die neue Version. +- **Datei gelöscht:** OBS zeigt eine leere Quelle („Datei nicht gefunden“). +- **Datei umbenannt:** Pfad in OBS muss manuell angepasst werden. + +Ein kurzer Reload über das Kontextmenü der Quelle +(„Eigenschaften → Datei neu wählen“) genügt meist, +um gecachte Inhalte zu aktualisieren. + +### Performance-Vorteile + +Der Unterschied zu Browserquellen ist deutlich spürbar: + +| Vergleich | Browserquelle (Filebrowser) | Lokale Quelle (SMB-Laufwerk) | +|------------|----------------------------|-------------------------------| +| Speicherbedarf | Hoch (Chromium-Prozess) | Minimal | +| Latenz | 100–300 ms beim Laden | Nahezu instant | +| Stabilität | Abhängig vom Browser | Direktzugriff | +| GPU-Belastung | 5–10 % | < 1 % | + +> [!NOTE] +> Besonders bei häufigen Szenenwechseln (z. B. Alert-Overlays) +> verbessert die lokale Quelle die Ladezeit sichtbar. +> OBS kann Dateien direkt aus dem Cache des Netzlaufwerks lesen, +> ohne sie jedes Mal neu rendern zu müssen. + +### Funktionstest + +1. Laufwerk `A:` geöffnet lassen +2. In OBS ein Overlay aus `A:\overlays` einfügen +3. Datei im Explorer ersetzen (z. B. neue Version hochladen) +4. Szene wechseln und zurückkehren + → Neue Version wird sofort angezeigt +5. CPU-Auslastung prüfen + → Sollte im Vergleich zur Browservariante deutlich niedriger sein + +Wenn alle Tests erfolgreich sind, +ist die Integration abgeschlossen und OBS nutzt die lokale Quelle vollwertig. +Damit ist der Asset-LXC vollständig in dein Produktionssystem eingebunden – +schnell, stabil und ohne zusätzliche Hintergrundprozesse. + +## Troubleshooting & Tipps + +Auch wenn die SMB-Einbindung in der Regel stabil läuft, +können bei der ersten Einrichtung oder nach Systemupdates kleinere Probleme auftreten. +Dieser Abschnitt deckt die häufigsten Ursachen und deren Lösungen ab. + +### Verbindung nicht möglich + +**Symptom:** +Windows zeigt beim Verbinden die Meldung *„Der Netzwerkpfad wurde nicht gefunden“* oder *„Zugriff verweigert“*. + +**Prüfung:** + +1. Im Proxmox-Interface sicherstellen, dass der Asset-LXC läuft +2. Im Container: + ```bash + systemctl status smbd + ``` + → muss `active (running)` anzeigen +3. IP-Adresse prüfen: + ```bash + ip a + ``` + → stimmt sie mit der im Explorer eingetragenen überein? +4. Firewall auf dem Windows-PC testweise deaktivieren +5. Falls mehrere Netzwerke aktiv sind (z. B. LAN + WLAN), nur das LAN verwenden + +> [!TIP] +> Wenn du Pi-hole oder Nginx Proxy Manager einsetzt, prüfe zusätzlich, +> ob der Hostname (`assets.local`) korrekt aufgelöst wird. +> Alternativ funktioniert immer die direkte IP-Adresse. + +### Passwort wird nicht akzeptiert + +**Symptom:** +Windows fragt wiederholt nach Benutzername und Kennwort. + +**Lösung:** + +- Benutzername exakt wie angelegt: `assetread` +- Keine Domäne eintragen (also nicht `.\assetread`) +- Wenn der Benutzer nicht existiert: + ```bash + smbpasswd -a assetread + systemctl restart smbd + ``` +- In Windows zwischengespeicherte Anmeldedaten löschen: + ``` + Systemsteuerung → Benutzerkonten → Anmeldeinformationsverwaltung + ``` + → Eintrag für `\\\assets` entfernen, dann neu verbinden. + +### Verbindung bricht nach Neustart ab + +**Symptom:** +Nach einem Windows-Neustart ist das Laufwerk getrennt. + +**Lösung:** + +1. Verbindung mit Administratorrechten neu erstellen: + ```powershell + New-PSDrive -Name "A" -PSProvider FileSystem -Root "\\192.168.100.50\assets" -Persist -Credential (Get-Credential) + ``` +2. Haken setzen bei *Immer beim Anmelden neu verbinden* +3. Falls das Laufwerk per WLAN verbunden ist: + - Skript mit Verzögerung starten: + ```powershell + Start-Sleep -Seconds 10 + ``` + +> [!NOTE] +> Windows versucht Netzlaufwerke sofort nach der Anmeldung zu mounten. +> Wenn die Netzwerkverbindung zu diesem Zeitpunkt noch nicht steht, schlägt das Mounten fehl. +> Eine kurze Verzögerung im Autostart-Skript behebt das Problem zuverlässig. + +### Dateien nicht sichtbar oder unvollständig + +**Symptom:** +Einige Dateien erscheinen nicht oder werden in OBS nicht geladen. + +**Lösung:** + +- Dateinamen prüfen: keine Leerzeichen, keine Sonderzeichen +- Berechtigungen im Container: + ```bash + ls -l /srv/assets + ``` + Falls erforderlich: + ```bash + chown -R www-data:www-data /srv/assets + chmod -R 755 /srv/assets + ``` +- OBS ggf. neu starten – Medienquellen werden nur beim Laden aktualisiert. + +> [!TIP] +> Wenn sich Dateien im Filebrowser korrekt anzeigen, +> aber über das Netzlaufwerk fehlen, liegt das meist an SMB-Caching. +> In Windows: +> ``` +> net use A: /delete +> net use A: \\\assets /persistent:yes +> ``` +> Danach ist die Ansicht wieder aktuell. + +### Performance-Probleme + +**Symptom:** +OBS reagiert träge oder Overlays laden mit Verzögerung. + +**Lösung:** + +- Prüfen, ob mehrere Netzlaufwerke gleichzeitig verbunden sind +- Ggf. Energiesparmodus der Netzwerkkarte deaktivieren +- Bei WLAN-Verbindungen Latenz durch LAN-Kabel deutlich geringer +- In SMB-Konfiguration sicherstellen: + ``` + server min protocol = SMB2 + server max protocol = SMB3 + ``` +- Auf Windows-Seite: + ``` + net config workstation /autodisconnect:-1 + ``` + verhindert, dass Windows inaktive Verbindungen trennt. + +> [!NOTE] +> Lokale Quellen über SMB sind immer schneller als Browserquellen. +> Wenn die Performance trotzdem schwach ist, liegt die Ursache meist im Netzwerk (Switch, WLAN, Duplexfehler). + +### Sicherheitshinweise + +- Die Freigabe ist nur innerhalb des Heimnetzes sichtbar. + Keine Portweiterleitung auf Routerebene aktivieren. +- Passwörter regelmäßig ändern. +- Für produktive Setups kann eine IP-Whitelist in `/etc/hosts.allow` gesetzt werden: + ``` + smbd : 192.168.100.0/24 + ``` +- Backups: Der Asset-Ordner wird von Kopia automatisch erfasst, + wenn er als Volume im Container gemountet ist. + +Damit sind die häufigsten Fehlerquellen abgedeckt. +Wenn das Laufwerk stabil verbunden ist und OBS zuverlässig lädt, +gilt die Integration als abgeschlossen. + +## Abschluss + +Mit der lokalen Einbindung des Asset-LXC ist das System vollständig in die Produktionsumgebung integriert. +Alle Assets – Overlays, Sounds, Animationen oder Videos – liegen zentral im Container +und können sowohl über Filebrowser gepflegt als auch direkt von Windows genutzt werden. + +Damit entfällt die Abhängigkeit von Browserquellen und temporären Webverbindungen. +OBS greift unmittelbar auf die Dateien zu, ohne zusätzliche Prozesse oder Umwege über HTTP. +Das reduziert Speicherverbrauch und CPU-Last deutlich und sorgt für eine stabile Performance, +insbesondere bei längeren Streams oder komplexen Szenen mit mehreren Quellen. + +Das Ergebnis ist ein klar strukturierter Workflow: + +1. Upload und Organisation über **Filebrowser** +2. Zentrale Speicherung im **Asset-LXC** +3. Direkter Zugriff auf dem **Streaming-PC** über Netzlaufwerk +4. Verwendung in **OBS** ohne Umwandlung oder Latenz + +> [!TIP] +> Wenn du in Zukunft weitere Geräte einbinden möchtest (z. B. Schnitt-PC oder Capture-System), +> kann die gleiche SMB-Freigabe genutzt werden. +> Alle greifen auf denselben Datenbestand zu, was Dateiduplikate vermeidet +> und die Verwaltung deutlich vereinfacht. + +> [!IMPORTANT] +> Beim Austausch von Assets niemals während eines laufenden Streams überschreiben. +> OBS hält geöffnete Dateien im Speicher und kann sie erst nach einem Szenenwechsel oder Neustart aktualisieren. + +Damit ist der Premium-Teil des Asset-LXC abgeschlossen. +Der Container ist nun mehr als nur ein Datenspeicher – +er fungiert als performante, lokale Asset-Basis für das gesamte UCC-System +und schließt die letzte Lücke zwischen Dateiverwaltung und Liveproduktion. \ No newline at end of file