§
    ÎÐj’  ã                   ój   — d Z ddlmZ ddlmZ ddlZddlZddlZddlZddl	m
Z
 ddlmZ dd„Zdd
„ZdS )zBTransparent video companions from a sequence of uint8 BGRA frames.é    )ÚBytesIO)ÚPathNé   )Úget_video_encode_args)Úresolve_media_binaryc                 óˆ  — t          j        | dt           j        ¦  «        5 }t          |¦  «        D ]x\  }}|� |¦   «         r d d d ¦  «         dS t	          j        d|¦  «        \  }}|st          d|› �¦  «        ‚|                     d|d›d�|                     ¦   «         ¦  «         Œy	 d d d ¦  «         n# 1 swxY w Y   dS )NÚwFz.pngzFailed to encode RGBA frame Úimg_Ú03dT)	ÚzipfileÚZipFileÚZIP_DEFLATEDÚ	enumerateÚcv2ÚimencodeÚRuntimeErrorÚwritestrÚtobytes)Úzip_pathÚframesÚinterrupt_checkÚarchiveÚindexÚframeÚsuccessÚencodeds           ú?C:\Users\johnn\OneDrive\Documents\AI\shared\utils\rgba_video.pyÚwrite_zip_filer      sU  € Ý	Œ˜ 3­Ô(<Ñ	=Ô	=ð HÀÝ% fÑ-Ô-ð 	Hð 	H‰LˆE�5ØÐ*¨¨Ñ/@Ô/@Ð*ØðHð Hð Hñ Hô Hð Hð Hð Hõ  #œ|¨F°EÑ:Ô:ÑˆG�WØð KÝ"Ð#IÀ%Ð#IÐ#IÑJÔJÐJØ×ÒÐ3 EÐ3Ð3Ð3Ð3°W·_²_Ñ5FÔ5FÑGÔGÐGÐGð	HðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð ˆ4s   ¡"B7ÁAB7Â7B;Â>B;Úpng_zipc                 ó˜	  — |� |¦   «         rdS |dk    r[t          ¦   «         5 }t          || |¦  «        s	 ddd¦  «         dS d|                     ¦   «         icddd¦  «         S # 1 swxY w Y   |dk    rt          d|› �¦  «        ‚t	          d¦  «        }|€t          d¦  «        ‚| d         j        dd	…         \  }}t          j        d
¬¦  «        5 }t          j	        ¦   «         5 }	t          |¦  «        dz  }
|ddddddddd|› d|› �dt          |¦  «        d›dddgt          dd¦  «        ¢t          |
¦  «        ‘}t          j        |t          j        t          j        |	¬¦  «        }	 	 | D ]Æ}|�– |¦   «         rŒ |                     ¦   «         €|                     ¦   «          |                     ¦   «          |j        j        s+	 |j                             ¦   «          n# t0          $ r Y nw xY wddd¦  «         ddd¦  «         dS |j                             |                     ¦   «         ¦  «         ŒÇ|j                             ¦   «          n# t0          $ r Y nw xY w	 |�– |¦   «         rŒ	 |                     ¦   «         €|                     ¦   «          |                     ¦   «          |j        j        s+	 |j                             ¦   «          n# t0          $ r Y nw xY wddd¦  «         ddd¦  «         dS 	 |                     d¬ ¦  «        }n# t          j        $ r Y ŒÂw xY w|dk    r`|	                     d¦  «         t          d!|	                     ¦   «                              d"d#¬$¦  «                             ¦   «         › �¦  «        ‚d%|
                      ¦   «         i|                     ¦   «         €|                     ¦   «          |                     ¦   «          |j        j        s+	 |j                             ¦   «          n# t0          $ r Y nw xY wcddd¦  «         cddd¦  «         S # |                     ¦   «         €|                     ¦   «          |                     ¦   «          |j        j        s+	 |j                             ¦   «          w # t0          $ r Y w w xY ww xY w# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )&zMReturn companion bytes, or None on cancellation; final names belong to WanGP.Nr   z.zipÚprores_4444zUnsupported RGBA video output: Úffmpegz)FFmpeg is required for ProRes 4444 outputr   é   Úwangp_rgba_)Úprefixzrgba.movz-hide_bannerz	-loglevelÚerrorz-yz-fÚrawvideoz-pix_fmtÚbgraz-video_sizeÚxz
-frameratez.12gz-izpipe:0z-anÚmov)ÚstdinÚstdoutÚstderrTgš™™™™™É?)ÚtimeoutzProRes 4444 encoding failed: zutf-8Úreplace)Úerrorsz	_rgba.mov)!r   r   ÚgetvalueÚ
ValueErrorr   r   ÚshapeÚtempfileÚTemporaryDirectoryÚTemporaryFiler   Úfloatr   ÚstrÚ
subprocessÚPopenÚPIPEÚDEVNULLÚpollÚkillÚwaitr+   ÚclosedÚcloseÚBrokenPipeErrorÚwriter   ÚTimeoutExpiredÚseekÚreadÚdecodeÚstripÚ
read_bytes)r   ÚfpsÚoutput_formatr   Ústreamr"   ÚheightÚwidthÚ	directoryr0   ÚoutputÚcommandÚprocessr   Ú
returncodes                  r   Úrgba_video_side_filesrT      sî  € àÐ"  Ñ'8Ô'8Ð"ØˆtØ˜	Ò!Ð!Ý‰YŒYð 	/˜&Ý! &¨&°/ÑBÔBð Øð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð ˜FŸOšOÑ-Ô-Ð.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð ˜Ò%Ð%ÝÐJ¸=ÐJÐJÑKÔKÐKå! (Ñ+Ô+€FØ€~ÝÐFÑGÔGÐGØ˜1”I”O B Q BÔ'�M€FˆEÝ	Ô	$¨MÐ	:Ñ	:Ô	:ð !¸iÍÔI_ÑIaÔIað !ÐekÝ�i‘” :Ñ-ˆØ˜>¨;¸ÀÀtÈZÐYcÐekÐmzð  @Eð  }Pð  }Pð  HNð  }Pð  }Pð  R^õ  chð  ilñ  cmô  cmð  `tð  `tð  vzð  |Dð  FKð  Gõ  Ncð  dqð  sxñ  Nyô  Nyð  Gõ  {~ð  Eñ  {Fô  {Fð  GˆÝÔ" 7µ*´/Í*ÔJ\ÐekÐlÑlÔlˆð	ðØ#ð 9ð 9�EØ&Ð2°°Ñ7HÔ7HÐ2Ø#ð$ �|Š|‰~Œ~Ð%Ø—’‘”�Ø�LŠL‰NŒNˆNØ”=Ô'ð ðØ”M×'Ò'Ñ)Ô)Ð)Ð)øÝ&ð ð ð Ø�DðøøøðA!ð !ð !ñ !ô !ð !ð !ð !ð !ñ !ô !ð !ð !ð !ð ”M×'Ò'¨¯ª©¬Ñ8Ô8Ð8Ð8Ø”×#Ò#Ñ%Ô%Ð%Ð%øÝ"ð ð ð Ø�ðøøøðØ"Ð.°?°?Ñ3DÔ3DÐ.Øð �|Š|‰~Œ~Ð%Ø—’‘”�Ø�LŠL‰NŒNˆNØ”=Ô'ð ðØ”M×'Ò'Ñ)Ô)Ð)Ð)øÝ&ð ð ð Ø�DðøøøðA!ð !ð !ñ !ô !ð !ð !ð !ð !ñ !ô !ð !ð !ð !ð Ø!(§¢°c Ñ!:Ô!:�JØøÝ!Ô0ð ð ð Ø�Hðøøøà˜QŠˆØ—’˜A‘”�Ý"Ð#|À6Ç;Â;Á=Ä=×CWÒCWÐX_ÐhqÐCWÑCrÔCr×CxÒCxÑCzÔCzÐ#|Ð#|Ñ}Ô}Ð}Ø ×!2Ò!2Ñ!4Ô!4Ð5à�|Š|‰~Œ~Ð%Ø—’‘”�Ø�LŠL‰NŒNˆNØ”=Ô'ð ðØ”M×'Ò'Ñ)Ô)Ð)Ð)øÝ&ð ð ð Ø�DðøøøðA!ð !ð !ð !ñ !ô !ð !ð !ð !ð !ð !ñ !ô !ð !ð !øð4 �|Š|‰~Œ~Ð%Ø—’‘”�Ø�LŠL‰NŒNˆNØ”=Ô'ð ðØ”M×'Ò'Ñ)Ô)Ð)Ð)øÝ&ð ð ð Ø�Dðøøøðøøøð;!ð !ð !ð !øøøð !ð !ð !ð !ð !ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð !ð !s\  £A%ÁA%Á%A)Á,A)ÃR?Ã)BR'Å/IÆ AR'Ç	G#Ç"R'Ç#
G0Ç-R'Ç/G0Ç0R'Ç3R?ÈAIÉP/É
IÉP/ÉIÉP/É0AR'Ê9KËR'Ë
K ËR'ËK Ë R'Ë#R?Ë<LÌP/ÌL%Ì"P/Ì$L%Ì%A>P/Î#AR'Ï,PÐR'Ð
P	ÐR'ÐP	ÐR'ÐR?Ð/A	R$Ñ9RÒR$Ò
R ÒR$ÒR Ò R$Ò$R'Ò'R+	Ò+R?Ò.R+	Ò/R?Ò?SÓS)N)r   N)Ú__doc__Úior   Úpathlibr   r9   r4   r   r   Úvideo_codecsr   Úvideo_decoder   r   rT   © ó    r   ú<module>r\      s¬   ðà HÐ HØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€à 
€
€
€
à /Ð /Ð /Ð /Ð /Ð /Ø .Ð .Ð .Ð .Ð .Ð .ð	ð 	ð 	ð 	ð1ð 1ð 1ð 1ð 1ð 1r[   