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 <[email protected]>
This commit is contained in:
1 parent
902f818c6e
commit
6742152626
1 file changed
+11
-1
@@ -52,8 +52,18 @@ export async function transcodeVideoForWeb(buffer: Buffer): Promise<Buffer> {
|
|||||||
"scale='min(1920,iw)':-2",
|
"scale='min(1920,iw)':-2",
|
||||||
"-c:v",
|
"-c:v",
|
||||||
"libx264",
|
"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",
|
"-preset",
|
||||||
"medium",
|
"veryfast",
|
||||||
"-crf",
|
"-crf",
|
||||||
"26",
|
"26",
|
||||||
"-maxrate",
|
"-maxrate",
|
||||||
|
|||||||
Reference in new issue
Block a user