ffmpeg -i diablo_capture.mkv -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm But the result? Frame drops, weird ghosting around the player's health orb, and – worst of all – the iconic candle flicker in the dungeon turned into a smeary mess.
You don't often see a classic action-RPG and a video codec library in the same sentence. But last weekend, while automating some Diablo (the original 1996 cult classic) replay captures for a lore project, I ran straight into the fiery pits of – Google's VP8/VP9 encoder library. diablo libvpx
Have you used libvpx for game capture? Run into similar issues with retro games? Let me know in the comments – or on Mastodon/BlueSky. ffmpeg -i diablo_capture
ffmpeg -i diablo_capture.mkv \ -c:v libvpx-vp9 \ -deadline good \ -cpu-used 2 \ -crf 25 \ -b:v 2000k \ -maxrate 4000k \ -bufsize 6000k \ -row-mt 1 \ -tile-columns 2 \ -frame-parallel 1 \ -auto-alt-ref 1 \ -lag-in-frames 25 \ -g 120 \ -pix_fmt yuv420p \ output.webm But last weekend, while automating some Diablo (the
| Setting | Why it matters for pixel-art / dark scenes | |---------|---------------------------------------------| | -crf 25 | Lower CRF (18-25) preserves dark gradients (the catacombs have subtle lighting). | | -g 120 | Longer GOP size – Diablo has long periods of similar backgrounds (dungeon walls). | | -lag-in-frames 25 | Allows better lookahead for motion compensation (skeleton archers moving slowly). | | -row-mt 1 | Multi-threading for software decode – vital for 100+ hour encodes. | After a 14-hour encode (yes, VP9 is slow on -deadline good ), the final WebM was 18% smaller than an equivalent x264 encode at the same perceptual quality. Seeking was snappy, and the pixel-art edges remained crisp.
Libvpx defaults to 2-pass variable bitrate (VBR) with a low latency trade-off. For a slow, atmospheric game like Diablo , the encoder was overreacting to sudden scene changes (door opening, lightning spell) and starving quiet dungeon corridors of bits. The Fix: Tuning Libvpx for Dark, Pixelated Dungeons After reading the libvpx docs (three cups of coffee and a lot of cursing), I landed on a profile that finally did justice to the Lord of Terror:
Posted April 13, 2026 — by [Your Name]