Native Windows-Auslieferung statt Container
Docker faellt weg. Das Projekt hat keine npm-Abhaengigkeiten und Node fuehrt TypeScript direkt aus - der Container schrieb nur noch drei Programme fest, und dafuer braucht es keine Virtualisierung, sondern einen Ordner. Der Anlass war, dass ADR-0004 zwar `docker compose pull` versprach, es aber nie ein veroeffentlichtes Image gab. Wer installieren wollte, musste whisper.cpp aus dem Quelltext uebersetzen. Plattformschicht (packages/core/src/platform.ts): - Programme werden neben der Anwendung gesucht, nicht im PATH - Daten unter %LOCALAPPDATA%, damit Installation und Update ohne Administratorrechte auskommen - Schriften mitgeliefert: ohne fontsdir setzt libass wortlos eine Ersatzschrift ein - gemessen 720 statt 826 Pixel Zeilenbreite Windows-Eigenheiten, an echtem ffmpeg 8.1 durchprobiert: - Pfade im Filtergraphen brauchen alle drei Schritte (Vorwaertsschraegstriche, escapter Doppelpunkt, Anfuehrungszeichen); je zwei davon reichen nicht - `nice` gibt es nicht, ersetzt durch os.setPriority Auslieferung: - scripts/build-package.ts baut das Paket, laeuft auch unter Linux - install.ps1 ohne Administratorrechte, Autostart ueber den Aufgabenplaner - update legt neue Fassungen bereit; eingespielt wird beim naechsten Start, nie mitten im Stream - ZIP lesen und schreiben ohne Abhaengigkeiten (packages/core/src/zip.ts) Kein `irm ... | iex`-Einzeiler: git.zeasy.dev antwortete instanzweit mit einer Umleitung auf /user/login, und `iex` fuehrte die Anmeldeseite als PowerShell aus. Der Updater verfolgt Umleitungen jetzt nicht und hat keine erfundene Vorgabeadresse mehr. Ausserdem: backup.ps1 war an zwei Stellen dokumentiert, aber nie geschrieben. ADR-0007 ersetzt ADR-0004. 84 Tests, Typpruefung sauber. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AhVSfMFdWnXKCv5JfLnArZ
This commit is contained in:
1 parent
71dd660d01
commit
5f6301268a
41 files changed
+2254
-312
No files matched your search
+20
-4
@@ -52,16 +52,32 @@ schiebt dann nicht sofort einen Streifen Gesicht in das Gameplay-Bild.
|
||||
## Prüfen
|
||||
|
||||
```powershell
|
||||
docker compose run --rm toolkit calibrate
|
||||
abdulive calibrate
|
||||
```
|
||||
|
||||
Nimmt das neueste Video aus dem Wiedergabepuffer-Ordner und legt drei Bilder in
|
||||
`data/clips/_calibration/` ab: das Einzelbild, dasselbe mit eingezeichneten
|
||||
Nimmt das neueste Video aus dem Wiedergabepuffer-Ordner und legt drei Bilder
|
||||
unter `%LOCALAPPDATA%\abdulive\clips\_calibration` ab: das Einzelbild, dasselbe mit eingezeichneten
|
||||
Ausschnitten, und die fertige 9:16-Vorschau. Sitzt in der Vorschau der Kopf
|
||||
mittig und ist im Gameplay-Teil kein Chat zu sehen, stimmt das Layout.
|
||||
|
||||
## Text im Bild — hier wird es eng
|
||||
|
||||
**Wer malt den Text?** Das ist nicht zu erraten — die Overlays sind ins
|
||||
Streambild eingebrannt, man muss nachsehen, welche OBS-Quelle sie zeichnet:
|
||||
|
||||
```powershell
|
||||
abdulive sources
|
||||
```
|
||||
|
||||
Der Befehl fragt das laufende OBS und listet jede Quelle der aktuellen Szene
|
||||
mit Position, Größe und dem Urteil, ob sie im 9:16-Ausschnitt landet. Bei
|
||||
Browser-Quellen steht die Adresse dabei — daran erkennt man den Dienst
|
||||
dahinter. Was nach Untertiteln aussieht, wird am Ende noch einmal
|
||||
zusammengefasst.
|
||||
|
||||
Dafür muss in OBS **Werkzeuge → WebSocket-Server-Einstellungen → Server
|
||||
aktivieren** gesetzt sein (Port 4455) und das Passwort unter `/setup` liegen.
|
||||
|
||||
Bei der Prüfung eines echten Clips lagen **drei Textebenen übereinander**:
|
||||
|
||||
1. die Untertitel des Spiels („Genau, ich mach da … sag zu dem Typen")
|
||||
@@ -115,5 +131,5 @@ fest, wie es vor der Vorgabe aussah — damit lassen sich alte Aufnahmen noch
|
||||
korrekt rendern:
|
||||
|
||||
```powershell
|
||||
docker compose run --rm toolkit render <datei> bestand-2026-09
|
||||
abdulive render <datei> bestand-2026-09
|
||||
```
|
||||
Reference in new issue
Block a user