From e2db183a8e62707d695b8dbf94d831d1caa9c829 Mon Sep 17 00:00:00 2001 From: Towsty Date: Tue, 25 Aug 2026 18:52:46 -0500 Subject: [PATCH] Write ffmpeg poster frames as a single image on Alpine. FFmpeg 8 refuses a plain thumb.jpg output unless -update 1 is set. Co-authored-by: Cursor --- server/utils/library.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/utils/library.ts b/server/utils/library.ts index c5675ee..399e968 100644 --- a/server/utils/library.ts +++ b/server/utils/library.ts @@ -415,7 +415,7 @@ export function clipThumbPath(owner: string, id: string) { function extractVideoThumb(videoPath: string, destPath: string) { return new Promise((resolve) => { - const proc = spawn('ffmpeg', ['-y', '-ss', '0.2', '-i', videoPath, '-frames:v', '1', '-q:v', '4', destPath], { stdio: 'ignore' }) + const proc = spawn('ffmpeg', ['-y', '-ss', '0.2', '-i', videoPath, '-frames:v', '1', '-update', '1', '-q:v', '4', destPath], { stdio: 'ignore' }) const timer = setTimeout(() => { try { proc.kill('SIGKILL') } catch { /* ignore */ } resolve(false)