§
    ŽÆjÿ  ã                   ó²   — d dl Z d dlZd dlZd dlmZ  ee¦  «                             ¦   «         j        j        Zedz  dz  Z	d„ Z
edk    r e
¦   «          dS dS )é    N)ÚPathÚ	04_AssetsÚvideosc                  ó~  — t           dz  t           dz  t           dz  t           dz  g} | D ]0}|                     ¦   «         st          d|j        › �¦  «          dS Œ1t           dz  }t           dz  }d	d
g}| D ]&}|                     dt          |¦  «        g¦  «         Œ'd                     d„ t          t          | ¦  «        ¦  «        D ¦   «         ¦  «        }|dt          | ¦  «        › d�z  }|                     d|ddddddddddddddddd d!t          |¦  «        g¦  «         t          d"¦  «         t          j
        |d#d#¬$¦  «        }|j        d%k    rt          d&|j        ¦  «         dS |                     ¦   «         r|                     ¦   «          |                     |¦  «         t          d'|j        › �¦  «         d#S )(Nz&prologue_shot_01_lang_que_198x_10s.mp4z"prologue_shot_02_ngam_kieu_10s.mp4z$prologue_shot_03_xuyen_khong_10s.mp4z,prologue_shot_04_gia_tinh_trieu_minh_10s.mp4z[!] File does not exist: Fz+prologue_hoai_niem_198x_to_gia_tinh_40s.mp4ztemp_prologue_40s.mp4Úffmpegz-yz-iÚ c                 ó    — g | ]}d |› d|› d�‘ŒS )ú[z:v:0][z:a:0]© )Ú.0Úis     ú(05_Production_Pipeline/merge_prologue.pyú
<listcomp>zmerge_shots.<locals>.<listcomp>   s,   € ÐPÐPÐP°AÐ/˜aÐ/Ð/ qÐ/Ð/Ð/ÐPÐPÐPó    z	concat=n=z:v=1:a=1[v][a]z-filter_complexz-mapz[v]z[a]z-c:vÚlibx264z-crfÚ18z-presetÚslowz-pix_fmtÚyuv420pz-c:aÚaacz-b:aÚ192kz-arÚ48000z0Running FFmpeg concat with audio preservation...T)Úcapture_outputÚtextr   z[!] FFmpeg error:z8Successfully generated Master Prologue with full audio: )Ú
VIDEOS_DIRÚexistsÚprintÚnameÚextendÚstrÚjoinÚrangeÚlenÚ
subprocessÚrunÚ
returncodeÚstderrÚunlinkÚrename)Ú
shot_filesÚfÚout_pathÚtemp_outÚcmdÚ
filter_strÚress          r   Úmerge_shotsr0   	   s  € åÐ=Ñ=ÝÐ9Ñ9ÝÐ;Ñ;ÝÐCÑCð	€Jð ð ð ˆØ�xŠx‰zŒzð 	ÝÐ6¨a¬fÐ6Ð6Ñ7Ô7Ð7Ø�5�5ð	õ ÐIÑI€HÝÐ3Ñ3€Hð �TÐ
€CØð #ð #ˆØ�
Š
�D�#˜a™&œ&�>Ñ"Ô"Ð"Ð"à—’ÐPÐP½½sÀ:¹¼Ñ9OÔ9OÐPÑPÔPÑQÔQ€JØÐ=�c *™oœoÐ=Ð=Ð=Ñ=€Jà‡J‚JØ˜:Ø�Ø�Ø�	Ø�Ø�6Ø�IØ�Ø�ØˆwÝˆH‰Œðñ ô ð õ 
Ð
<Ñ=Ô=Ð=Ý
Œ.˜¨T¸Ð
=Ñ
=Ô
=€CØ
„~˜ÒÐÝÐ! 3¤:Ñ.Ô.Ð.Øˆuà‡‚ÑÔð Ø�ŠÑÔÐØ‡O‚O�HÑÔÐå	Ð
TÀXÄ]Ð
TÐ
TÑUÔUÐUØˆ4r   Ú__main__)ÚosÚsysr#   Úpathlibr   Ú__file__ÚresolveÚparentÚBASE_DIRr   r0   Ú__name__r   r   r   ú<module>r:      s—   ðØ 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð àˆ4�‰>Œ>×!Ò!Ñ#Ô#Ô*Ô1€Ø˜Ñ# hÑ.€
ð1ð 1ð 1ðf ˆzÒÐØ€K�M„M€M€M€Mð Ðr   