from pathlib import Path
import subprocess
P=Path('/tmp/dance_candidate_isolated')
src=P/'internal_base_visual_candidates.mp4'
card=Path('/tmp/dance_original/dance_of_production/frames/terminal/005_daniel_card_reassurance.png')
def run(c):
 print('RUN',c[0],flush=True);subprocess.run(c,check=True)
cardclip=P/'daniel_card_5s.mp4'
run(['ffmpeg','-v','error','-y','-loop','1','-framerate','24','-i',str(card),'-t','5','-vf','scale=1280:720,setsar=1,format=yuv420p','-an','-c:v','libx264','-preset','veryfast','-crf','20',str(cardclip)])
run(['ffmpeg','-v','error','-y','-ss','43','-t','5','-i',str(src),'-vn','-af','afade=t=in:d=0.015,afade=t=out:st=4.985:d=0.015','-c:a','pcm_s16le','-ar','48000','-ac','2',str(P/'card_audio.wav')])
run(['ffmpeg','-v','error','-y','-ss','189','-t','4','-i',str(src),'-vn','-af','afade=t=in:d=0.015,afade=t=out:st=3.985:d=0.015','-c:a','pcm_s16le','-ar','48000','-ac','2',str(P/'ariel_audio_fixed.wav')])
out=P/'Dance_Of_Internal_Continuity_Working_Candidate_v0.14.mp4'
args=['ffmpeg','-v','error','-y','-t','48','-i',str(src),'-i',str(cardclip),'-ss','48','-t','141','-i',str(src),'-i',str(P/'ariel_24s.mp4'),'-ss','193','-t','37','-i',str(src),'-i',str(P/'rehearsal_24s.mp4'),'-ss','234','-t','101','-i',str(src),'-i',str(P/'card_audio.wav'),'-stream_loop','5','-i',str(P/'ariel_audio_fixed.wav'),'-stream_loop','5','-i',str(P/'rehearsal_audio.wav')]
vf=';'.join(f'[{i}:v]setpts=PTS-STARTPTS[v{i}]' for i in range(7))+';'+''.join(f'[v{i}]' for i in range(7))+'concat=n=7:v=1:a=0[v]'
af='[0:a]atrim=duration=48,asetpts=PTS-STARTPTS[a0];[7:a]atrim=duration=5,asetpts=PTS-STARTPTS[a1];[2:a]atrim=duration=141,asetpts=PTS-STARTPTS[a2];[8:a]atrim=duration=24,asetpts=PTS-STARTPTS[a3];[4:a]atrim=duration=37,asetpts=PTS-STARTPTS[a4];[9:a]atrim=duration=24,asetpts=PTS-STARTPTS[a5];[6:a]atrim=duration=101,asetpts=PTS-STARTPTS[a6];[a0][a1][a2][a3][a4][a5][a6]concat=n=7:v=0:a=1[a]'
run(args+['-filter_complex',vf+';'+af,'-map','[v]','-map','[a]','-c:v','libx264','-preset','veryfast','-crf','21','-pix_fmt','yuv420p','-r','24','-c:a','aac','-b:a','192k','-ar','48000','-movflags','+faststart',str(out)])
print('OUTPUT',out,out.stat().st_size,flush=True)
