Kapitel 12/Premium Rohtext.md hinzugefügt

This commit is contained in:
2025-10-16 12:21:26 +00:00
parent 6ff431b142
commit 6dc87c63a0

View File

@@ -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\<Benutzer>\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 | 100300 ms beim Laden | Nahezu instant |
| Stabilität | Abhängig vom Browser | Direktzugriff |
| GPU-Belastung | 510 % | < 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 `\\<IP>\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: \\<IP>\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.