import subprocess
from pathlib import Path
root = Path(__file__).parent
jobs = [
 ('base-selection-raw.mp4', 'before-ios-selection-public.mp4', [(0,60),(70,90)], 'Before e9a7c076f7 - wrap off and on'),
 ('head-wrap-off-raw.mp4', 'after-ios-wrap-off-public.mp4', [(0,72),(163,201),(212,230),(321,340),(371,410)], 'After 3bb6f0f1db - wrap off'),
 ('head-wrap-on-raw.mp4', 'after-ios-wrap-on-public.mp4', [(110,150),(170,200),(234,260),(268,305),(310,365)], 'After 3bb6f0f1db - wrap on'),
]
for src, dst, spans, title in jobs:
    parts=[]
    for i,(start,end) in enumerate(spans):
        parts.append(f'[0:v]trim=start={start}:end={end},setpts=PTS-STARTPTS[v{i}]')
    streams=''.join(f'[v{i}]' for i in range(len(spans)))
    parts.append(f'{streams}concat=n={len(spans)}:v=1:a=0,scale=402:874,crop=402:376:0:116,pad=402:416:0:40:black,drawtext=text=\'{title}\':fontcolor=white:fontsize=15:x=10:y=12,fps=30[out]')
    subprocess.run(['ffmpeg','-v','error','-i',str(root/src),'-filter_complex',';'.join(parts),'-map','[out]','-c:v','libx264','-preset','fast','-crf','18','-an','-map_metadata','-1','-movflags','+faststart',str(root/dst)],check=True)
