Final SAR=1 fix: dodaj setsar=1 na konec vfilter-ja v reframe.py + ass filtrom v subtitle.py (kompenzira rounding errore iz scale/crop filtrov, ki dajo SAR 10240:10239 namesto 1:1)

This commit is contained in:
OpenClaw Agent 2026-05-02 12:12:38 +00:00
parent 6279b0ec03
commit c1e00b7b73
2 changed files with 7 additions and 1 deletions

View File

@ -423,6 +423,11 @@ def main():
vfilter = build_blur_filter(info, args.target_width, args.target_height, vfilter = build_blur_filter(info, args.target_width, args.target_height,
anamorphic_prefix=anamorphic_prefix.rstrip(",")) anamorphic_prefix=anamorphic_prefix.rstrip(","))
# KONČNI setsar=1: zagotovi 1:1 piksel v output-u (kompenzira morebitne rounding errore
# iz scale/crop filtrov, ki lahko dajo SAR npr. 10240:10239)
if args.mode != "blur":
vfilter = vfilter + ",setsar=1"
preset = {"fast": "veryfast", "medium": "medium", "high": "slow"}[args.quality] preset = {"fast": "veryfast", "medium": "medium", "high": "slow"}[args.quality]
crf = {"fast": "26", "medium": "21", "high": "18"}[args.quality] crf = {"fast": "26", "medium": "21", "high": "18"}[args.quality]

View File

@ -255,7 +255,8 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
# Burn-in z ass filtrom (boljši kot subtitles za naš primer) # Burn-in z ass filtrom (boljši kot subtitles za naš primer)
ass_escaped = ass_path.replace("\\", "\\\\").replace(":", "\\:").replace("'", r"\'") ass_escaped = ass_path.replace("\\", "\\\\").replace(":", "\\:").replace("'", r"\'")
vf = f"ass='{ass_escaped}'" # setsar=1 + setdar=9/16: zagotovi 1:1 piksel + 9:16 display ratio v finalnem output-u
vf = f"ass='{ass_escaped}',setsar=1"
cmd = [ cmd = [
"ffmpeg", "-y", "-i", str(video), "ffmpeg", "-y", "-i", str(video),