feat(pipeline): master/proxy transcode arg builder (content pipeline §3.4/§6)

This commit is contained in:
BenStullsBets
2026-06-24 07:54:36 -07:00
parent 7217daeb44
commit 4b5fd20374
2 changed files with 32 additions and 1 deletions
+14 -1
View File
@@ -1,4 +1,4 @@
from tools.pipeline.ffmpeg_ops import frame_args, crossfade_loop_args
from tools.pipeline.ffmpeg_ops import frame_args, crossfade_loop_args, transcode_args
def test_frame_args_trims_scales_pads_and_strips_audio():
@@ -33,3 +33,16 @@ def test_crossfade_loop_rejects_overlap_too_large():
import pytest
with pytest.raises(ValueError):
crossfade_loop_args("in.mp4", "loop.mp4", duration=4.0, overlap=2.0)
def test_transcode_args_high_profile_even_dims_faststart():
args = transcode_args("loop.mp4", "proxy.mp4", width=1920, height=1080,
crf=20, fps=30)
assert "-profile:v" in args and args[args.index("-profile:v") + 1] == "high"
assert "-crf" in args and args[args.index("-crf") + 1] == "20"
vf = args[args.index("-vf") + 1]
assert "scale=1920:1080:force_original_aspect_ratio=decrease" in vf
assert "fps=30" in vf
assert "+faststart" in args
assert "-an" in args
assert args[-1] == "proxy.mp4"