Drei HandBrake-Presets (SVT-AV1 10-bit, MKV, Audio-Passthrough) versioniert unter llm-server/encoding/profiles/; Profilwahl ueber gleichnamige Ordner unter input/. Gemeinsamer NFS-Mount mit input/- und output/-Unterverzeichnissen. Input-Loeschung nach Encoding und Validierung, Output bis Abholung, work/ pro Lauf. Dashboard-Endpunkte fuer Fortschritt und Ressourcen als Statusanzeige. Eigene Programme liegen kuenftig unter llm-server/encoding/scripts/. GNENC-000/001 aktualisiert. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
52 lines
2.8 KiB
Markdown
52 lines
2.8 KiB
Markdown
# Video-Encoding – Dokumentationsindex und Projektstand
|
||
|
||
**Dokumenten-ID:** GNENC-000-DOC
|
||
**Stand:** 2026-10-05
|
||
**Status:** Nicht finaler Arbeitsstand; Encoding-Workload noch nicht installiert
|
||
|
||
## Dokumente
|
||
|
||
| Dokument | Zweck / Zielgruppe |
|
||
| --- | --- |
|
||
| [GNENC-001-PLAN_Architecture.md](GNENC-001-PLAN_Architecture.md) | vorläufige Architektur, Repository-Grenzen, Ressourcenmodell und offene Entscheidungen; Infrastrukturadministratoren |
|
||
|
||
## Bestätigter Stand
|
||
|
||
- Das gemeinsame Infrastructure-Repository bleibt die einzige Quelle für den
|
||
Ansible-Sollzustand des physischen Servers.
|
||
- Encoding-Dokumentation verwendet innerhalb des LLM-Server-Gerätebereichs
|
||
`docs/platform/llm-server/encoding/` und die Dokumentenkennung `GNENC`.
|
||
- Encoding ist nach Betreiberfestlegung CPU-basiert und darf parallel zur
|
||
jeweils aktiven KI-Umgebung laufen.
|
||
- Encoding läuft automatisch nächtlich von 00:00 bis 06:00 Uhr Europe/Berlin
|
||
und darf parallel zur jeweils aktiven KI-Umgebung laufen.
|
||
- Das gesperrte Servicekonto `gn-encoding` mit UID/GID 982 und eigenem
|
||
rootless Podman-Store ist eingerichtet und verifiziert.
|
||
- Das Encoding-Ansible-Projekt unter `llm-server/encoding/ansible/` verwaltet
|
||
und verifiziert den Encoding-Grundzustand (Konto, Pfade, CPU-Isolation,
|
||
rootless Store); Check-Mode und Idempotenzlauf meldeten jeweils `changed=0`.
|
||
- Das Image `linuxserver/handbrake:1.11.2-ls48` ist mit dem amd64-Manifest-Digest
|
||
`sha256:fda92bd1b43a07a770b10ad793172b10451ba1690803112dbaf2b48a6148a3c7`
|
||
gepinnt und per Pull im rootless Store von `gn-encoding` verifiziert.
|
||
- Drei HandBrake-Presets (SVT-AV1 10-bit, MKV, Audio-Passthrough) liegen
|
||
versioniert unter `llm-server/encoding/profiles/`; die Profilwahl erfolgt
|
||
über gleichnamige Ordner unter `input/`.
|
||
- Aufbewahrung: Input-Dateien werden nach erfolgreichem Encoding und
|
||
Validierung gelöscht; Output bleibt bis zur Abholung; `work/` wird pro Lauf
|
||
geleert.
|
||
- Statusanzeige: Dashboard-Endpunkte für Arbeitsfortschritt und
|
||
System-Ressourcen des Encoding-Workloads.
|
||
- Es sind noch kein Container, keine Quadlet-Unit und kein Timer eingerichtet.
|
||
|
||
## Nächste Festlegungen
|
||
|
||
Am 19.10.2026 festgelegt: HandBrake im Image `linuxserver/handbrake:1.11.2-ls48`
|
||
(amd64-Manifest-Digest gepinnt), nächtliches Zeitfenster 00:00–06:00 Uhr
|
||
Europe/Berlin mit geordnetem Stopp und nächtlichem Retry, gemeinsamer
|
||
NFS-Mount mit `input/`- und `output/`-Unterverzeichnissen, drei HandBrake-Presets
|
||
mit Auswahl über Input-Ordner, Aufbewahrung (Input-Löschung nach Encoding und
|
||
Validierung, Output bis Abholung, `work/` pro Lauf) sowie Dashboard-Endpunkte
|
||
für Fortschritt und Ressourcen. Noch offen: NFS-Server-Adresse und
|
||
Export-Pfad, Validierungsverfahren, technische Umsetzung der Endpunkte sowie
|
||
CPU-/I/O-Grenzen nach einem Lasttest unter Inferenzlast.
|