S3: 9:16-Render mit Warteschlange, nachrangig zum Stream
Aus der Rohdatei entsteht das fertige Hochformat. Der Filtergraph liegt jetzt in packages/media und wird von calibrate und vom Render-Schritt gemeinsam benutzt - die Zahlen darin sind eingemessen, sie gehoeren an genau eine Stelle. Eine Aufgabe nach der anderen, und waehrend gesendet wird standardmaessig gar nicht (renderWhileLive: false). ffmpeg laeuft unter nice, mit Zeitlimit, und die letzten Zeilen von stderr landen in der Fehlermeldung statt im Nichts. Aus dem 90-Sekunden-Puffer werden die letzten 45 Sekunden genommen (-sseof vor -i, sonst wird die ganze Datei dekodiert und danach verworfen). Dabei einen eigenen Fehler aus S2 korrigiert: die Rohdatei wurde in den Windows-Bind-Mount kopiert und dort verarbeitet - genau das, was ADR-0004 Punkt 2 verbietet. Jetzt liegt sie im Arbeits-Volume, auf die Windows-Seite kommt nur das fertige, kleine Ergebnis. Verifiziert an einer kuenstlichen Aufnahme mit drei getrennten Tonspuren: 1920x1080/70 s hinein, 1080x1920/45 s heraus, Naht an der richtigen Stelle, 27,9 s Rechenzeit unter nice 15. 39 Tests gruen. Neuer Befehl `render <datei>` zum Nachrendern nach Layout-Aenderungen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013VTGjd92LsDDWF3frd9FTB
This commit is contained in:
1 parent
684f10eb02
commit
0e020f3073
11 files changed
+597
-27
No files matched your search
@@ -34,6 +34,9 @@ export type Config = {
|
||||
cooldownUserSeconds: number;
|
||||
followersOnly: boolean;
|
||||
renderWhileLive: boolean;
|
||||
tailSeconds: number;
|
||||
audio: { transcribeTrack: number; outputTrack: number };
|
||||
ffmpeg: { encoder: string; preset: string; crf: number; niceness: number };
|
||||
};
|
||||
ingestServer: { port: number };
|
||||
dashboard: { port: number };
|
||||
@@ -61,6 +64,13 @@ const DEFAULTS = {
|
||||
cooldownUserSeconds: 300,
|
||||
followersOnly: false,
|
||||
renderWhileLive: false,
|
||||
// Der Wiedergabepuffer ist 90 s lang, ein Short soll das nicht sein.
|
||||
// Genommen werden die letzten Sekunden - dort liegt der Ausloeser.
|
||||
tailSeconds: 45,
|
||||
// OBS nimmt getrennte Spuren auf: 1 = Mischung, 2 = Mikrofon, 3 = Spiel.
|
||||
// Hier zaehlen die Positionen unter den Audiospuren, also 0-basiert.
|
||||
audio: { transcribeTrack: 1, outputTrack: 0 },
|
||||
ffmpeg: { encoder: 'libx264', preset: 'veryfast', crf: 20, niceness: 15 },
|
||||
},
|
||||
ingestServer: { port: 4790 },
|
||||
dashboard: { port: 4792 },
|
||||
|
||||
Reference in new issue
Block a user