Ë
    õKÒjP  ã                   ój   — d Z ddlZddlZddlZddlZdZe› d�Zd„ Zd
d„Zd„ Z	d„ Z
ed	k(  r e
«        yy)u  Templek musik instrumental ke video reel IG StudioSoft (dibakar ke MP4 sebelum upload).

Kenapa dibakar: Repliz/IG Graph API tidak punya pilihan musik â€” yang tayang hanya audio
di dalam berkas video. Jadi musik harus jadi bagian MP4-nya.

Pakai:
  /usr/bin/python3 ss_reel_musik.py --uji ss_reel_biru_07.mp4                       # tes 1 video
  /usr/bin/python3 ss_reel_musik.py --semua --bed musik/kalem_24s.wav --go          # semua reel
Opsi: --volume 0.32 (kekuatan musik), --out-dir (folder hasil), --suffix _musik
é    Nz//home/mantapman/.hermes/profiles/atun/workspacez/openclaw-imgc           
      ó˜   — t        j                  ddddddd| gdd¬	«      }t        |j                  xs d
j	                  «       xs d«      S )NÚffprobeú-vÚerrorú-show_entrieszformat=durationú-ofúcsv=p=0T©Úcapture_outputÚtextÚ0r   )Ú
subprocessÚrunÚfloatÚstdoutÚstrip©ÚpathÚps     ú@/home/mantapman/.hermes/profiles/atun/workspace/ss_reel_musik.pyÚdurasir      sN   € Ü�‰˜	 4¨°/ÐCTØ˜y¨$ð0Ø@DÈ4ô	Q€Aä�!—(‘(’/˜c×(Ñ(Ó*Ò/¨aÓ0Ð0ó    c                 óÄ   — t        | «      }t        d||z
  «      }d|› d|› d|d›d|› d�	}	dd	d
dd| ddd|d|	ddddddddd|ddddd|g}
t        j                  |
d¬«       |S )Ngš™™™™™¹?z[1:a]volume=z,afade=t=in:st=0:d=z,afade=t=out:st=z.2fz:d=z[a]Úffmpegz-yr   r   z-iz-stream_loopz-1z-filter_complexz-mapz0:vz-c:vÚcopyz-c:aÚaacz-b:az-arÚ44100z	-shortestz	-movflagsz
+faststartT)Úcheck)r   Úmaxr   r   )ÚvideoÚbedÚoutÚvolumeÚfade_inÚfade_outÚbitrateÚdÚst_outÚfltÚcmds              r   Úcampurr+      sŸ   € Üˆu‹€AÜ��a˜(‘lÓ#€FØ˜&˜Ð!4°W°Ið >Ø# C˜L¨¨H¨:°Sð:€Cà�T˜4 ¨$°Ø˜4  sÐ,=¸sØ�5˜& %¨°¸ÀØ�7˜E 7¨K¸ÀlÐTWðY€Cô ‡N�N�3˜dÕ#Ø€Jr   c                 óž   — t        j                  ddddddddd	| g
d
d
¬«      }|j                  xs dj                  «       j	                  «       S )Nr   r   r   z-select_streamsÚar   z,stream=codec_name,bit_rate,channels,durationr   r	   Tr
   Ú )r   r   r   r   Ú
splitlinesr   s     r   Ú	cek_audior0   )   sU   € Ü�‰˜	 4¨Ð2CÀSØ'Ð)WØ˜y¨$ð0à@DÈ4ô	Q€Að �H‰HŠN˜×!Ñ!Ó#×.Ñ.Ó0Ð0r   c                  ó*	  ‡
— t        j                  «       } | j                  dd¬«       | j                  ddd¬«       | j                  dd	d
¬«       | j                  dt        d¬«       | j                  dd ¬«       | j                  dd¬«       | j                  ddd¬«       | j	                  «       Š
t
        j                  j                  ‰
j                  «      r‰
j                  nt        › d‰
j                  › �}t
        j                  j                  |«      st        j                  d|› �«       ‰
j                  ret
        j                  j                  ‰
j                  «      s.t
        j                  j                  t        ‰
j                  «      n‰
j                  g}nM‰
j                   r,t#        ˆ
fd„t        j$                  t        «      D «       «      }nt        j                  d«       ‰
j&                  xs t        }t        j(                  |d	¬«       t+        dt
        j                  j-                  |«      › d‰
j.                  › dt1        «      › d�«       ‰
j2                  sm|D ]g  }t+        dt
        j                  j-                  |«      dt
        j                  j-                  |«      j5                  d ‰
j6                  › d �«      «       Œi y d!x}}|D �]M  }t
        j                  j                  |«      s/t+        d"t
        j                  j-                  |«      «       |d#z  }ŒRt
        j                  j                  |t
        j                  j-                  |«      j5                  d ‰
j6                  › d �«      «      }	 t9        |||‰
j.                  ¬$«       t?        |«      }	|	rd&|	d!   vr1t+        d't
        j                  j-                  |«      |	«       |d#z  }�Œ|d#z  }t+        d(t
        j                  j-                  |«      › d)tA        |«      d*›d+|	d!   › �«       �ŒP t+        d,|› d-|› d.�«       y # t:        j<                  $ r:}t+        d%t
        j                  j-                  |«      |«       |d#z  }Y d }~�Œ¬d }~ww xY w)/Nz--ujiz2nama berkas video di openclaw-img (tes satu video))Úhelpz--semuaÚ
store_truezsemua ss_reel_*.mp4)Úactionr2   z--bedTzberkas WAV bed musik)Úrequiredr2   z--volumeç{®GázÔ?)ÚtypeÚdefaultz	--out-dir)r8   z--suffixÚ_musikz--goztanpa ini = hanya rencanaú/u   â�Œ bed tidak ada: c              3   óÆ   •K  — | ]X  }|j                  d «      rE|j                  d«      r4‰j                  |vr&t        j                  j                  t        |«      –— ŒZ y­w)Úss_reel_ú.mp4N)Ú
startswithÚendswithÚsuffixÚosr   ÚjoinÚIMG)Ú.0Úfr-   s     €r   ú	<genexpr>zmain.<locals>.<genexpr>B   sJ   øè ø€ ò /°ØŸ<™<¨
Ô3¸¿
¹
À6Ô8JØŸH™H¨AÑ-ô Ÿ™Ÿ™¤S¨!×,ñ /ùs   ƒAA!z!pilih --uji <berkas> atau --semua)Úexist_okzmusik: u    Â· volume u    Â· z videoz
  rencana:z->r=   r   u     â�Œ tidak ada:é   )r#   u     â�Œ gagal campur:r   u     âš ï¸� audio tidak terbaca:u     âœ” u
    Â· video z.1fu    dtk Â· audio z	selesai: z ok, z gagal)!ÚargparseÚArgumentParserÚadd_argumentr   Ú
parse_argsrA   r   Úisabsr!   ÚWSÚexistsÚsysÚexitÚujirB   rC   ÚsemuaÚsortedÚlistdirÚout_dirÚmakedirsÚprintÚbasenamer#   ÚlenÚgoÚreplacer@   r+   r   ÚCalledProcessErrorr0   r   )Úapr!   ÚberkasrV   ÚvÚokÚgagalr"   ÚeÚinfor-   s             @r   Úmainre   0   sŽ  ø€ Ü	×	 Ñ	 Ó	"€BØ‡O�O�GÐ"V€OÔWØ‡O�O�I lÐ9N€OÔOØ‡O�O�G dÐ1G€OÔHØ‡O�O�J¤U°D€OÔ9Ø‡O�O�K¨€OÔ.Ø‡O�O�J¨€OÔ1Ø‡O�O�F <Ð6Q€OÔRØ
�‰‹€Aä—7‘7—=‘= §¡Ô'ˆ!�%Š%´¨t°1°Q·U±U°G¨_€CÜ�7‰7�>‰>˜#ÔÜ�‰Ð& s eÐ,Ô-à‡u‚uÜ24·'±'·-±-ÀÇÁÔ2F”"—'‘'—,‘,œs A§E¡EÔ*ÈAÏEÉEÐR‰Ø	
�ŠÜó /´b·j±jÄ³oô /ó /‰ô 	�‰Ð4Ô5à�i‰iÒœ3€GÜ‡K�K� $Õ'Ü	ˆG”B—G‘G×$Ñ$ SÓ)Ð*¨+°a·h±h°Z¸tÄCÈÃKÀ=ÐPVÐ
WÔXØ�4Š4Øò 	JˆAÜ�,¤§¡× 0Ñ 0°Ó 3°TÜ—'‘'×"Ñ" 1Ó%×-Ñ-¨f¸¿¹¸
À$Ð6GÓHõJð	Jð 	à€N€BˆØó bˆÜ�w‰w�~‰~˜aÔ ÜÐ$¤b§g¡g×&6Ñ&6°qÓ&9Ô:Ø�Q‰JˆEØÜ�g‰g�l‰l˜7¤B§G¡G×$4Ñ$4°QÓ$7×$?Ñ$?ÀÈ1Ï8É8È*ÐTXÐHYÓ$ZÓ[ˆð	Ü�1�c˜3 q§x¡xÕ0ô
 ˜‹~ˆÙ�u D¨¡GÑ+ÜÐ1´2·7±7×3CÑ3CÀCÓ3HÈ$ÔOØ�Q‰JˆEÙØ
ˆa‰ˆÜ�”r—w‘w×'Ñ'¨Ó,Ð-¨Z¼¸s»ÀCÐ7HÈÐW[Ð\]ÑW^ÐV_Ð`Öað%bô& 
ˆI�b�T˜˜u˜g VÐ
,Õ-øô ×,Ñ,ò 	ÜÐ'¬¯©×)9Ñ)9¸!Ó)<¸aÔ@Ø�Q‰JˆEÝûð	ús   ÎQÑRÑ/RÒRÚ__main__)r6   g333333ã?gffffffö?Ú192k)Ú__doc__rI   rA   r   rP   rN   rC   r   r+   r0   re   Ú__name__© r   r   ú<module>rk      sR   ðñ	ó Û 	Û Û 
à6€Ø	ˆˆMÐ€ò1ó
ò1ò5.ðp ˆzÒÙ…Fð r   