How the blurred-background vertical render works
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.mp4Two 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