From 6742152626ae6a2912585e6d3614903cbe3c9566 Mon Sep 17 00:00:00 2001 From: Nick Szaunig Date: Sat, 12 Sep 2026 03:56:07 +0200 Subject: [PATCH] fix: ffmpeg-Preset auf veryfast, um CDN-Timeout beim Video-Upload zu vermeiden Fehlerbild "Unexpected token '<' ... is not valid JSON" nach dem ffmpeg-Fix: kein Absturz mehr, sondern vermutlich ein Timeout - das CDN/Reverse-Proxy (Cloudflare) vor der Seite bricht selbst ab, wenn der Origin-Request zu lange nicht antwortet, und liefert dafuer eine eigene HTML-Fehlerseite statt der JSON-Antwort. "medium"-Preset fuer ein 57-MB-Rohvideo konnte laenger brauchen, als das CDN wartet. "veryfast" tauscht nur Encodier-Geschwindigkeit gegen Kompressionseffizienz (nicht gegen das per -crf gesteuerte Qualitaetsziel), reduziert die Encodierzeit deutlich. Co-Authored-By: Claude Sonnet 5 --- src/lib/video-transcode.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/video-transcode.ts b/src/lib/video-transcode.ts index 667f3cf..24217a1 100644 --- a/src/lib/video-transcode.ts +++ b/src/lib/video-transcode.ts @@ -52,8 +52,18 @@ export async function transcodeVideoForWeb(buffer: Buffer): Promise { "scale='min(1920,iw)':-2", "-c:v", "libx264", + // "veryfast" statt "medium": x264-Presets tauschen Encodier-GESCHWINDIGKEIT + // gegen Kompressionseffizienz, nicht gegen das Qualitaetsziel selbst (das + // steuert weiterhin allein -crf) — bei identischem CRF wird die Datei mit + // "veryfast" minimal groesser, aber typischerweise 3-5x schneller fertig. + // Noetig, weil ein Reverse-Proxy/CDN (hier: Cloudflare) vor einem zu + // lange antwortenden Origin-Request selbst abbricht und eine eigene + // HTML-Fehlerseite ausliefert -> im Client "Unexpected token '<' ... + // is not valid JSON", weil response.json() diese HTML-Seite nicht + // parsen kann. Mit "medium" konnte ein 57-MB-Rohvideo laenger brauchen, + // als das CDN auf eine Antwort wartet. "-preset", - "medium", + "veryfast", "-crf", "26", "-maxrate",