Koldflux test log: 4K versus 8K for social video. Run October 21, 2026 on a Linux VPS (6 cores, 11 GB RAM). Tools: ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FF; libx264 via that build; Chromium via Playwright for the browser test. Source scenes (2 seconds, 30 fps, 7680x4320, lossless FFV1, made by ffmpeg, no real footage): $ ffmpeg -f lavfi -i "testsrc2=s=7680x4320:r=30" -t 2 -pix_fmt yuv420p -c:v ffv1 sceneA_8k.mkv (scene A, clean graphics) $ ffmpeg -f lavfi -i "testsrc2=s=7680x4320:r=30" -vf "noise=alls=10:allf=t" -t 2 -pix_fmt yuv420p -c:v ffv1 sceneB_8k.mkv (scene B, heavy noise) Method: the 4K and 1080p versions are scaled from the 8K master with lanczos. Each version is encoded with x264 (preset medium, threads 4, rc-lookahead 20) in two ways: CRF 23, and single-pass 15 Mbps capped (-b:v 15M -maxrate 15M -bufsize 30M). SSIM compares each encode, scaled to 1920x1080, with the 1080p master. A first run of scene B at 8K was killed for memory (exit 137); the whole set was rerun with the lookahead and thread limits above. Numbers below are from the rerun. === Raw command log (each ffmpeg call, last stderr line, exit code, wall time) === $ ffmpeg -hide_banner -y -loglevel error -i sceneA_8k.mkv -vf scale=3840:2160:flags=lanczos -c:v ffv1 refA_4k.mkv (exit 0, 4.4 s) $ ffmpeg -hide_banner -y -loglevel error -i sceneA_8k.mkv -vf scale=1920:1080:flags=lanczos -c:v ffv1 refA_1080.mkv (exit 0, 2.9 s) $ ffmpeg -hide_banner -y -loglevel error -i sceneA_8k.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -crf 23 -pix_fmt yuv420p -an -movflags +faststart oA_8K_crf23.mp4 (exit 0, 15.0 s) $ ffmpeg -hide_banner -nostats -i oA_8K_crf23.mp4 -i refA_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x59b42eb1a0c0] SSIM Y:0.993644 (21.968265) U:0.991229 (20.569452) V:0.990053 (20.023049) All:0.992643 (21.333034) (exit 0, 2.1 s) $ ffmpeg -hide_banner -y -loglevel error -i refA_4k.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -crf 23 -pix_fmt yuv420p -an -movflags +faststart oA_4K_crf23.mp4 (exit 0, 3.0 s) $ ffmpeg -hide_banner -nostats -i oA_4K_crf23.mp4 -i refA_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x56e0cca99f40] SSIM Y:0.992928 (21.504845) U:0.990920 (20.419192) V:0.989625 (19.840117) All:0.992043 (20.992583) (exit 0, 1.0 s) $ ffmpeg -hide_banner -y -loglevel error -i refA_1080.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -crf 23 -pix_fmt yuv420p -an -movflags +faststart oA_1080p_crf23.mp4 (exit 0, 0.9 s) $ ffmpeg -hide_banner -nostats -i oA_1080p_crf23.mp4 -i refA_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x5bc9f0568f80] SSIM Y:0.990563 (20.251862) U:0.989828 (19.925843) V:0.988533 (19.405639) All:0.990102 (20.044737) (exit 0, 0.5 s) $ ffmpeg -hide_banner -y -loglevel error -i sceneA_8k.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -b:v 15M -maxrate 15M -bufsize 30M -pix_fmt yuv420p -an -movflags +faststart oA_8K_15M.mp4 (exit 0, 14.2 s) $ ffmpeg -hide_banner -nostats -i oA_8K_15M.mp4 -i refA_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x5f7318610f00] SSIM Y:0.992454 (21.222975) U:0.990887 (20.403232) V:0.989878 (19.947429) All:0.991764 (20.842651) (exit 0, 1.7 s) $ ffmpeg -hide_banner -y -loglevel error -i refA_4k.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -b:v 15M -maxrate 15M -bufsize 30M -pix_fmt yuv420p -an -movflags +faststart oA_4K_15M.mp4 (exit 0, 3.4 s) $ ffmpeg -hide_banner -nostats -i oA_4K_15M.mp4 -i refA_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x624ae52dbfc0] SSIM Y:0.993325 (21.755659) U:0.991040 (20.476875) V:0.990015 (20.006557) All:0.992393 (21.187680) (exit 0, 0.8 s) $ ffmpeg -hide_banner -y -loglevel error -i refA_1080.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -b:v 15M -maxrate 15M -bufsize 30M -pix_fmt yuv420p -an -movflags +faststart oA_1080p_15M.mp4 (exit 0, 1.3 s) $ ffmpeg -hide_banner -nostats -i oA_1080p_15M.mp4 -i refA_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x5c2755cceec0] SSIM Y:0.993838 (22.102714) U:0.991278 (20.593633) V:0.990179 (20.078470) All:0.992801 (21.427505) (exit 0, 0.5 s) $ ffmpeg -hide_banner -y -loglevel error -i sceneB_8k.mkv -vf scale=3840:2160:flags=lanczos -c:v ffv1 refB_4k.mkv (exit 0, 16.6 s) $ ffmpeg -hide_banner -y -loglevel error -i sceneB_8k.mkv -vf scale=1920:1080:flags=lanczos -c:v ffv1 refB_1080.mkv (exit 0, 15.3 s) $ ffmpeg -hide_banner -y -loglevel error -i sceneB_8k.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -crf 23 -pix_fmt yuv420p -an -movflags +faststart oB_8K_crf23.mp4 (exit 0, 70.9 s) $ ffmpeg -hide_banner -nostats -i oB_8K_crf23.mp4 -i refB_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x5c8af1bd6540] SSIM Y:0.965540 (14.626848) U:0.966451 (14.743265) V:0.965290 (14.595487) All:0.965650 (14.640769) (exit 0, 5.6 s) $ ffmpeg -hide_banner -y -loglevel error -i refB_4k.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -crf 23 -pix_fmt yuv420p -an -movflags +faststart oB_4K_crf23.mp4 (exit 0, 8.0 s) $ ffmpeg -hide_banner -nostats -i oB_4K_crf23.mp4 -i refB_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x55f8f676ef40] SSIM Y:0.967305 (14.855228) U:0.966250 (14.717209) V:0.964757 (14.529330) All:0.966705 (14.776173) (exit 0, 1.6 s) $ ffmpeg -hide_banner -y -loglevel error -i refB_1080.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -crf 23 -pix_fmt yuv420p -an -movflags +faststart oB_1080p_crf23.mp4 (exit 0, 1.9 s) $ ffmpeg -hide_banner -nostats -i oB_1080p_crf23.mp4 -i refB_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x5ebc40745180] SSIM Y:0.965981 (14.682749) U:0.967032 (14.819078) V:0.965474 (14.618540) All:0.966071 (14.694352) (exit 0, 1.3 s) $ ffmpeg -hide_banner -y -loglevel error -i sceneB_8k.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -b:v 15M -maxrate 15M -bufsize 30M -pix_fmt yuv420p -an -movflags +faststart oB_8K_15M.mp4 (exit 0, 46.3 s) $ ffmpeg -hide_banner -nostats -i oB_8K_15M.mp4 -i refB_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x6366b7562e40] SSIM Y:0.963215 (14.343277) U:0.957729 (13.739620) V:0.957613 (13.727688) All:0.961367 (14.130417) (exit 0, 2.5 s) $ ffmpeg -hide_banner -y -loglevel error -i refB_4k.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -b:v 15M -maxrate 15M -bufsize 30M -pix_fmt yuv420p -an -movflags +faststart oB_4K_15M.mp4 (exit 0, 11.1 s) $ ffmpeg -hide_banner -nostats -i oB_4K_15M.mp4 -i refB_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x604c8f92f900] SSIM Y:0.965525 (14.624927) U:0.964156 (14.455895) V:0.962775 (14.291673) All:0.964838 (14.539320) (exit 0, 3.3 s) $ ffmpeg -hide_banner -y -loglevel error -i refB_1080.mkv -c:v libx264 -preset medium -threads 4 -x264-params rc-lookahead=20 -b:v 15M -maxrate 15M -bufsize 30M -pix_fmt yuv420p -an -movflags +faststart oB_1080p_15M.mp4 (exit 0, 6.3 s) $ ffmpeg -hide_banner -nostats -i oB_1080p_15M.mp4 -i refB_1080.mkv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x58b92cd868c0] SSIM Y:0.962118 (14.215674) U:0.965587 (14.632790) V:0.964239 (14.465964) All:0.963050 (14.323831) (exit 0, 1.8 s) === Results (bytes of a 2 s clip; kbps = bytes*8/2/1000; encode seconds are wall time) === scene | version | mode | bytes | kbps | encode s | SSIM at 1080p view A | 8K | crf23 | 22476868 | 89907 | 15.0 | 0.992643 A | 4K | crf23 | 2389589 | 9558 | 3.0 | 0.992043 A | 1080p | crf23 | 220946 | 884 | 0.9 | 0.990102 A | 8K | 15M | 4599698 | 18399 | 14.2 | 0.991764 A | 4K | 15M | 4005089 | 16020 | 3.4 | 0.992393 A | 1080p | 15M | 3949916 | 15800 | 1.3 | 0.992801 B | 8K | crf23 | 151906409 | 607626 | 70.9 | 0.96565 B | 4K | crf23 | 2780464 | 11122 | 8.0 | 0.966705 B | 1080p | crf23 | 298706 | 1195 | 1.9 | 0.966071 B | 8K | 15M | 3549701 | 14199 | 46.3 | 0.961367 B | 4K | 15M | 3611135 | 14445 | 11.1 | 0.964838 B | 1080p | 15M | 4351295 | 17405 | 6.3 | 0.96305 === ffprobe of the 8K and 4K encodes === oA_8K_crf23.mp4: h264,High,7680,4320,60,30/1,60 oA_4K_crf23.mp4: h264,High,3840,2160,51,30/1,60 oB_8K_crf23.mp4: h264,High,7680,4320,60,30/1,60 === Convert 8K to 4K command (the one shown on the page) === $ ffmpeg -i oA_8K_15M.mp4 -vf scale=3840:2160:flags=lanczos -c:v libx264 -crf 18 -preset slow -an -movflags +faststart out4k.mp4 (exit 0, 7.09 s) $ ffprobe out4k.mp4 codec_name=h264 width=3840 height=2160 duration=2.000000 size=3187101 === Koldflux compress tool, live site, headless Chromium (Playwright), preset 1080p, October 21, 2026 === input -> result (all inputs are 2 s clips from this test; H.264 inputs only, HEVC and phone footage not tested) dl/oA_4K_crf23_koldflux.mp4: h264,1920,1080 2.000000,128061 dl/oA_8K_15M_koldflux.mp4: h264,1920,1080 2.000000,136001 oA_4K_crf23.mp4 (2.4 MB, 3840x2160) -> done in 11 s -> 1920x1080 H.264, 128,061 bytes oA_8K_15M.mp4 (4.6 MB, 7680x4320) -> done in 19 s -> 1920x1080 H.264, 136,001 bytes oB_8K_crf23.mp4 (151.9 MB, 7680x4320) -> refused after 3 s: "Processing failed - a file may be corrupt, too large for your browser, or unsupported." (the tool page states a 100 MB per file limit) ================================================================== ADDED October 22, 2026: panning detailed procedural scene, three codecs Source: one 10240x5760 still made by ffmpeg geq (sum of sine waves at several scales, plus noise=alls=6), panned with crop=7680:4320:x='256*t':y='144*t' for 6 s at 30 fps (180 frames), written raw yuv420p at 8K, then scaled with lanczos to 4K and 1080p. The still: ffmpeg -f lavfi -i "color=c=black:s=10240x5760:r=1,format=yuv444p" -frames:v 1 -vf "geq=lum='128+34*sin(X/310+sin(Y/230)*3)+26*sin((X+2*Y)/71)*cos(Y/97)+18*sin(X/23+sin(Y/19))*sin(Y/29)+10*sin((X-Y)/9.3)+6*sin(X/3.7)*sin(Y/4.1)':cb='128+30*sin(X/400+Y/530)':cr='128+30*cos(X/470-Y/380)',noise=alls=6:allf=u" still.png This is procedural, not camera footage. It was planned at 10 to 30 s; 6 s was the most the 11 GB RAM / disk allowed for raw 8K masters. A first attempt that re-read the PNG per frame was killed (exit 137, out of memory) and its timings were discarded; this run reads raw masters. Encoders: x264 CRF 23 (preset medium), x265 CRF 28 (preset medium), SVT-AV1 CRF 35 (preset 8). CRF numbers are not equivalent across codecs. SSIM: each encode scaled to 1920x1080 and compared with the 1080p master (itself scaled from the 8K master, which favors the 8K encode). VMAF: not available (ffmpeg build has no libvmaf). Not measured. === Raw command log === $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 7680x4320 -r 30 -i pan/m8k.yuv -c:v libx264 -preset medium -crf 23 -threads 4 -x264-params rc-lookahead=20 -an pan/x264_8K.mp4 (exit 0, 39.7 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/x264_8K.mp4 -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x5a3afd741d00] SSIM Y:0.998434 (28.052248) U:0.994786 (22.828456) V:0.994871 (22.899622) All:0.997232 (25.578700) (exit 0, 3.5 s) $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 3840x2160 -r 30 -i pan/m4k.yuv -c:v libx264 -preset medium -crf 23 -threads 4 -x264-params rc-lookahead=20 -an pan/x264_4K.mp4 (exit 0, 10.1 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/x264_4K.mp4 -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x640d580dfcc0] SSIM Y:0.995729 (23.694652) U:0.992637 (21.329612) V:0.993014 (21.557981) All:0.994761 (22.807722) (exit 0, 1.4 s) $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -c:v libx264 -preset medium -crf 23 -threads 4 -x264-params rc-lookahead=20 -an pan/x264_1080p.mp4 (exit 0, 2.5 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/x264_1080p.mp4 -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x596ba97e3540] SSIM Y:0.983575 (17.844962) U:0.993229 (21.693189) V:0.993777 (22.060254) All:0.986884 (18.822105) (exit 0, 0.5 s) $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 7680x4320 -r 30 -i pan/m8k.yuv -c:v libx265 -preset medium -crf 28 -x265-params pools=4:frame-threads=2 -tag:v hvc1 -an pan/x265_8K.mp4 encoded 180 frames in 56.13s (3.21 fps), 1599.31 kb/s, Avg QP:34.81 (exit 0, 56.8 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/x265_8K.mp4 -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x5cea09516880] SSIM Y:0.997259 (25.621671) U:0.993329 (21.758191) V:0.994066 (22.266401) All:0.996072 (24.058453) (exit 0, 3.8 s) $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 3840x2160 -r 30 -i pan/m4k.yuv -c:v libx265 -preset medium -crf 28 -x265-params pools=4:frame-threads=2 -tag:v hvc1 -an pan/x265_4K.mp4 encoded 180 frames in 14.32s (12.57 fps), 672.71 kb/s, Avg QP:34.52 (exit 0, 14.5 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/x265_4K.mp4 -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x58ff2238f740] SSIM Y:0.993844 (22.106916) U:0.992146 (21.048820) V:0.993281 (21.727249) All:0.993467 (21.848919) (exit 0, 1.6 s) $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -c:v libx265 -preset medium -crf 28 -x265-params pools=4:frame-threads=2 -tag:v hvc1 -an pan/x265_1080p.mp4 encoded 180 frames in 4.86s (37.02 fps), 314.40 kb/s, Avg QP:34.66 (exit 0, 5.0 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/x265_1080p.mp4 -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x565aae1c4600] SSIM Y:0.985021 (18.245144) U:0.990914 (20.416080) V:0.992401 (21.192704) All:0.987233 (18.939150) (exit 0, 0.5 s) $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 7680x4320 -r 30 -i pan/m8k.yuv -c:v libsvtav1 -preset 8 -crf 35 -svtav1-params lp=4 -an pan/SVT-AV1_8K.mkv Svt[info]: ------------------------------------------- (exit 0, 37.2 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/SVT-AV1_8K.mkv -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x63bfb463fac0] SSIM Y:0.944127 (12.527978) U:0.994626 (22.697228) V:0.994923 (22.943979) All:0.961010 (14.090416) (exit 0, 2.8 s) $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 3840x2160 -r 30 -i pan/m4k.yuv -c:v libsvtav1 -preset 8 -crf 35 -svtav1-params lp=4 -an pan/SVT-AV1_4K.mkv Svt[info]: ------------------------------------------- (exit 0, 13.2 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/SVT-AV1_4K.mkv -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x612bc01b0ac0] SSIM Y:0.943670 (12.492573) U:0.994538 (22.626644) V:0.994841 (22.874294) All:0.960676 (14.053453) (exit 0, 1.3 s) $ ffmpeg -nostdin -hide_banner -loglevel error -y -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -c:v libsvtav1 -preset 8 -crf 35 -svtav1-params lp=4 -an pan/SVT-AV1_1080p.mkv Svt[info]: ------------------------------------------- (exit 0, 4.4 s) $ ffmpeg -nostdin -hide_banner -nostats -i pan/SVT-AV1_1080p.mkv -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i pan/m1080.yuv -lavfi "[0:v]scale=1920:1080:flags=lanczos,format=yuv420p[a];[1:v]format=yuv420p[b];[a][b]ssim" -f null - [Parsed_ssim_3 @ 0x627d5dc84400] SSIM Y:0.942780 (12.424547) U:0.993768 (22.053447) V:0.994388 (22.509095) All:0.959880 (13.966342) (exit 0, 0.4 s) === Results (bytes of a 6 s clip; kbps = bytes*8/6/1000; encode seconds are wall time) === codec | version | bytes | kbps | encode s | SSIM at 1080p view x264 CRF 23 | 8K | 4436254 | 5915 | 39.7 | 0.997232 x264 CRF 23 | 4K | 1347831 | 1797 | 10.1 | 0.994761 x264 CRF 23 | 1080p | 1059998 | 1413 | 2.5 | 0.986884 x265 CRF 28 | 8K | 1205567 | 1607 | 56.8 | 0.996072 x265 CRF 28 | 4K | 510796 | 681 | 14.5 | 0.993467 x265 CRF 28 | 1080p | 242005 | 323 | 5.0 | 0.987233 SVT-AV1 CRF 35 | 8K | 4797163 | 6396 | 37.2 | 0.96101 SVT-AV1 CRF 35 | 4K | 878445 | 1171 | 13.2 | 0.960676 SVT-AV1 CRF 35 | 1080p | 260594 | 347 | 4.4 | 0.95988