From 4e30eb1d52d9b9d303ebde8fada2d689f4875880 Mon Sep 17 00:00:00 2001 From: legop3 Date: Sat, 3 Jan 2026 21:01:21 -0500 Subject: [PATCH] pallete gen ffmpeg --- server/src/services/discordBotService.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/server/src/services/discordBotService.js b/server/src/services/discordBotService.js index f8fba3b7..dc497bf4 100644 --- a/server/src/services/discordBotService.js +++ b/server/src/services/discordBotService.js @@ -272,6 +272,7 @@ async function buildReplayGif() { await fsp.writeFile(path.join(tmpDir, filename), frames[i].buffer); } const outPath = path.join(tmpDir, 'replay.gif'); + const palettePath = path.join(tmpDir, 'palette.png'); const delayMs = getRoomCameraReplayDelayMs(); const fps = (1000 / delayMs).toFixed(3); await execFileAsync('ffmpeg', [ @@ -284,7 +285,22 @@ async function buildReplayGif() { '-i', 'frame-%04d.jpg', '-vf', - 'scale=640:-1:flags=lanczos', + 'palettegen', + palettePath, + ], { cwd: tmpDir }); + await execFileAsync('ffmpeg', [ + '-y', + '-hide_banner', + '-loglevel', + 'error', + '-framerate', + fps, + '-i', + 'frame-%04d.jpg', + '-i', + 'palette.png', + '-lavfi', + 'paletteuse=dither=bayer:bayer_scale=5', '-loop', '0', outPath,