From 0fe1a47295ab5abbd111e67c2c4a7bee6ca936b8 Mon Sep 17 00:00:00 2001 From: OpenClaw Agent Date: Sat, 2 May 2026 11:42:08 +0000 Subject: [PATCH] Fix output pixel format: -pix_fmt yuv420p + setsar=1 v vseh ffmpeg ukazih (broadcast .MPG iz Qnet je yuv422p z anamorphic SAR 64:45 \u2192 popa\u010den DAR 4:5 namesto 9:16, ne kompatibilen z Instagram/FB/mobile playerji) --- scripts/reframe.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/reframe.py b/scripts/reframe.py index 1d4bde3..3ea707f 100644 --- a/scripts/reframe.py +++ b/scripts/reframe.py @@ -322,6 +322,7 @@ def main(): cmd += [ "-map", "0:v:0", # samo prvi video stream "-c:v", "libx264", "-preset", "veryfast", "-crf", "20", + "-pix_fmt", "yuv420p", # web/mobile compat (broadcast .mpg = yuv422p) ] cmd += audio_args else: @@ -349,7 +350,8 @@ def main(): audio_args = build_audio_args(audio_streams) cmd = ["ffmpeg", "-y", "-i", str(src), "-map", "0:v:0", - "-c:v", "libx264", "-preset", "veryfast", "-crf", "20"] + "-c:v", "libx264", "-preset", "veryfast", "-crf", "20", + "-pix_fmt", "yuv420p"] # web/mobile compat cmd += audio_args + [tmp.name] print(f"🔧 PRE-CONVERT CMD: {' '.join(cmd)}", file=sys.stderr) result = subprocess.run(cmd, capture_output=True, text=True) @@ -387,12 +389,17 @@ def main(): audio_filter.append(f"afade=t=out:st={fade_start}:d={args.fade_out}") audio_filter_str = ",".join(audio_filter) if audio_filter else None + # Force kvadraten pixel (SAR=1:1) — fix za broadcast .MPG ki ima 64:45 anamorphic + if not vfilter.endswith(",setsar=1"): + vfilter = vfilter + ",setsar=1" + if args.mode == "blur": # blur uporablja filter_complex cmd = [ "ffmpeg", "-y", "-i", str(work_input), "-filter_complex", vfilter, "-c:v", "libx264", "-preset", preset, "-crf", crf, + "-pix_fmt", "yuv420p", # web/mobile compat (Instagram/FB/web players) "-map", "0:a:0?", # samo prvi audio stream (če obstaja) "-ac", "2", # force stereo "-c:a", "aac", "-b:a", "192k", @@ -405,6 +412,7 @@ def main(): "ffmpeg", "-y", "-i", str(work_input), "-vf", vfilter, "-c:v", "libx264", "-preset", preset, "-crf", crf, + "-pix_fmt", "yuv420p", # web/mobile compat (Instagram/FB/web players) "-map", "0:v:0", "-map", "0:a:0?", # video + samo prvi audio "-ac", "2", # force stereo "-c:a", "aac", "-b:a", "192k",