All posts
Engineering ffmpeg TikTok

How the blurred-background vertical render works

AlphaGen Codes June 4, 2026 4 min read

TikTok wants 9:16. YouTube gives you 16:9. The naive approach — letterbox with black bars — looks lazy. The cool kids use a blurred background: the original video, zoomed to fill the vertical frame, blurred to oblivion, with the original 16:9 frame centered on top.

Here's the ffmpeg recipe in one filter chain:

ffmpeg -i input.mp4 \
  -filter_complex "
    [0:v]scale=1080:1920:force_original_aspect_ratio=increase,
         crop=1080:1920,
         gblur=sigma=25[bg];
    [0:v]scale=1080:607[fg];
    [bg][fg]overlay=0:(1920-607)/2
  " \
  -c:v libx264 -preset veryfast -crf 23 \
  -pix_fmt yuv420p -movflags +faststart \
  output.mp4

Two streams from the same input: one becomes the blurred background by scaling up and cropping, the other stays at the original 16:9 ratio. Overlay the foreground on the background, vertically centered. Done.

In Repostify this lives in desktop/video.py via the ffmpeg-python wrapper, which makes the filter chain readable. The whole rendering job takes about 20% of real-time on a modern CPU — a 3-minute video renders in ~35 seconds.

Why blur sigma 25?

Below 15, you can still read text in the background. Above 30, it looks like oil. Sigma 25 is the sweet spot — recognizable as "the same video" without being distracting. Adjust the blur_sigma parameter in video.py if your videos look different.

Like this? Sync your first video.

Get Started Free