Files
abdulive/docs/offene-punkte.md
T
ZeasyAlexandClaude Opus 5 e87879de9e Uebergabe auf den aktuellen Stand
Stand 2026-09-15. Der Discord-Server ist dazugekommen, der Rest ist
unveraendert: S2 wartet weiter auf ein laufendes OBS.

- Neuer Abschnitt "Der Discord-Server steht": was da ist, und dass die drei
  Webhooks fuer Broadcaster, Recap und Clipper bereitliegen. Wer diese
  Werkzeuge baut, muss nur noch posten.
- Neuer Abschnitt "Discord: was gemessen ist", nach dem Vorbild der
  Windows-Fallen. Vier Dinge, die nicht in der Doku stehen, in der man
  zuerst sucht: das Limit von zwei Umbenennungen je zehn Minuten, die
  Rangfolge-Regel hinter dem irrefuehrenden "Missing Permissions", die
  Schwelle fuer Onboarding und die Namensnormalisierung.
- Zwei Handgriffe fuer Abdu ergaenzt: sich selbst die Rolle geben, und den
  Einladungslink verteilen. An Letzterem haengt, ob der Server ueberhaupt
  jemanden bekommt.
- Ehrlich dazugeschrieben, was offen ist: der Knopf haengt am Daemon, und
  der Bot ist nie unter Last gelaufen.
- Der Hinweis auf die zwei Remotes, damit sie nicht auseinanderlaufen.
- 93 -> 162 Tests.

offene-punkte.md bekommt einen Discord-Abschnitt, die Roadmap den Hinweis,
dass die Discord-Seite von M3 schon steht.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 22:05:03 +02:00

6.0 KiB

Offene Punkte

Stand 2026-09-09. Sortiert nach Dringlichkeit, nicht nach Aufwand. Erledigtes wandert raus, nicht ins Archiv — die Historie steht in Git.

Blockiert, bis jemand am Stream-PC sitzt

  • S2 abnehmen. Der obs-websocket-Client ist gebaut und getestet, soweit es ohne OBS geht: Anmeldeverfahren, Pfadübersetzung, Warten auf die fertige Datei. Ungeprüft ist das tatsächliche Gespräch mit einem laufenden OBS. Bis dahin ist !clip nicht bewiesen.
  • Strecke IRC → Datenbank im Livebetrieb. Die Teile sind einzeln getestet, die Verdrahtung wird erst beim ersten echten Stream sichtbar.
  • Layout umstellen nach obs-layout.md und danach calibrate laufen lassen.

Bekannte Lücke im Betrieb

  • Aufräumen im Arbeitsordner. Jede Rohdatei landet unter work/<clipId>/ und bleibt dort liegen. Bei fünf Clips pro Stream und mehreren hundert MB je Datei läuft das Volume in wenigen Wochen voll. Gebraucht wird eine Aufbewahrungsregel — Vorschlag: Rohdateien der letzten 30 Clips behalten, ältere löschen, sobald status = 'rendered'. Das ist der Punkt, der als Erstes weh tun wird.
  • Was passiert, wenn der Rechner mitten im Rendern ausgeht? Clips bleiben auf status = 'raw' stehen und werden nach Neustart nicht wieder eingereiht.

Untertitel verbessern

Der Durchlauf am echten Clip war brauchbar, aber nicht gut. Was auffiel:

  • Größeres Modell testen. ggml-small machte aus „Danke" ein „Dank es" und aus „Sabrina" ein „Savina". medium ist etwa dreimal so langsam — bei 30-Sekunden-Clips nach dem Stream ist das egal. Vergleich an demselben Clip fahren und entscheiden.
  • Wörter mit niedriger Wahrscheinlichkeit prüfen. Whisper liefert je Token ein p. Bei den Fehlgriffen lag es unter 0,15, bei korrekten Wörtern über 0,9. Entweder weglassen oder gedimmt anzeigen.
  • Schrift. DejaVu Sans ist im Image vorhanden, aber unauffällig. Auf Shorts trägt eine fettere, rundere Schrift (Montserrat ExtraBold, Inter Black). Braucht eine Schriftdatei im Image und eine Lizenzprüfung.
  • Nur das aktuelle Wort hervorheben statt fortlaufend einzufärben. Der heutige Karaoke-Effekt lässt gesprochene Wörter gefärbt stehen; der Stil, der auf TikTok funktioniert, hebt genau ein Wort hervor. Braucht mehrere Dialogzeilen je Zeile statt einer.
  • Position prüfen. 340 px Abstand nach unten ist geschätzt, nicht gemessen. An einem echten Handy gegen die TikTok-, Reels- und Shorts-Oberfläche halten.
  • Seitliche Ränder gegengeprüft, aber nur rechnerisch gegen eine gemessene mittlere Zeichenbreite. Bei einer anderen Schrift (siehe Punkt oben) muss CHAR_WIDTH_RATIO in subtitles.ts neu eingemessen werden — sonst bricht die Zeile wieder an der falschen Stelle.
  • Nur transkribieren, wenn Abdu spricht. Bei getrennten Tonspuren reicht ein Pegelfilter auf der Mikrofonspur, damit aus Stille kein erfundener Text wird.

Streamsetup

  • Live-Captions verschieben. Sie liegen im Gameplay-Band und sind fest eingebrannt. Zwei Vorschläge stehen in obs-layout.md. Welche OBS-Quelle sie überhaupt zeichnet, sagt abdulive sources — das war vorher unbekannt.
  • Spieluntertitel abschalten.
  • Bessere Bildquelle für die Facecam — Plugin Source Record oder Aitum Vertical. Damit entfällt die 2,25-fache Vergrößerung. Lohnt sich erst, wenn regelmäßig Shorts entstehen.

Auslieferung

  • Code-Signing. Das Paket ist nicht signiert, SmartScreen warnt bei jeder Installation vor einem unbekannten Herausgeber. Ein OV-Zertifikat kostet rund 200 EUR im Jahr, ein EV-Zertifikat mehr und braucht Hardware. Solange nur Abdu installiert, reicht ein Klick auf "Trotzdem ausfuehren" - sobald jemand Drittes das Paket bekommt, nicht mehr.
  • CI einmal wirklich laufen lassen. .gitea/workflows/release.yml ist geschrieben, der Runner (ubuntu-latest) steht — ausgefuehrt wurde sie aber noch nie. Beim ersten Tag zusehen, ob sie durchlaeuft.
  • Hardware-Encoding. Der mitgelieferte ffmpeg kann QSV, AMF und NVENC (--enable-libvpl, --enable-amf, --enable-ffnvcodec) - aus WSL2 heraus ging das nicht. clipper.ffmpeg.encoder steht weiter auf libx264. Auf Abdus Rechner messen, ob h264_qsv etwas bringt.

Discord

  • Den Bot unter Last sehen. Gleichzeitige Klicks auf den Rollen-Knopf sind nie vorgekommen, ebenso wenig eine Laufzeit über Tage. Die Gateway-Verbindung kann fortsetzen und wiederverbinden, aber beides ist nur gegen einen nachgebauten Server geprüft.
  • Onboarding einschalten, sobald der Server groß genug ist. Discord verlangt sieben Vorgabekanäle mit fünf beschreibbaren, wir haben fünf und drei. Die Frage liegt fertig auf dem Server, nur ausgeschaltet. Dann könnte der Knopf entfallen und mit ihm die Gateway-Verbindung.
  • Twitch-Konto unter Integrationen verbinden, damit Subs automatisch eine Rolle bekommen.
  • Stammgast automatisch vergeben. Bisher von Hand. Die Daten dafür liegen längst in der Datenbank, es fehlt die Brücke zwischen Twitch-Konto und Discord-Konto.

Nach dem MVP

  • Spitzen-Erkennung scharf schalten. Sie läuft mit und schreibt jeden Kandidaten samt Punktzahl in events. Sobald ein paar Streams protokolliert sind: an echten Daten kalibrieren, dann armed: true.
  • Automatischer Upload zu TikTok und YouTube.
  • EventSub für Follows, Subs, Raids — bisher reicht IRC plus Polling.
  • Follower-Prüfung bei !clip, falls die Abklingzeiten nicht reichen.
  • Die übrigen acht Werkzeuge, siehe 04-roadmap.md.

Kleinigkeiten

  • Die Fortschrittsanzeige schreibt \r-Zeilen; im Protokoll der Aufgabe sieht das unschoen aus. Beim Umleiten in eine Datei besser unterdruecken.