
    ^jt                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	  e	e
                                          j        d         ZdZdZedz  Zd Zd Zdd	Zd
 Zd Zedk    r e             dS dS )    N)Path   zhttp://192.168.1.104:8021z/stickman-render-gpuzscript/project-manifest.jsonc                    t          j                    }|                     d          5 t          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                  .                          d          S )Ni   )read)handles   script/render-intro-endpoint.py<lambda>zsha256.<locals>.<lambda>   s    &++o">">     r   )hashlibsha256openiterupdate	hexdigest)pathdigestblockr	   s      @r
   r   r      s    ^F	4 !F>>>>DD 	! 	!EMM%    	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s   ,A##A'*A'c                     t          j        dddddddddt          |           g
d	d	d	
          }t          j        |j                  S )Nffprobez-verrorz-show_entrieszformat=duration,sizez>stream=codec_type,codec_name,width,height,sample_rate,channelsz-ofjsonT)capture_outputtextcheck)
subprocessrunstrr   loadsstdout)r   results     r
   prober#      sz    ^	D'?4JO  ^^  `e  gm  or  sw  ox  ox  	y	  F :fm$$$r   c                    |d n(t          j        |d                              d          }t          j                            t          | z   ||rddini |rdnd          }t          j                            |d	
          5 }|j        dz  dk    rt          d|j         d|            t          j
        |          cd d d            S # 1 swxY w Y   d S )NFensure_asciiutf-8zContent-Typezapplication/jsonPOSTGET)dataheadersmethodiX  )timeoutd      zHTTP z: )r   dumpsencodeurllibrequestRequestBASEurlopenstatusRuntimeErrorload)r   payloadr*   r3   responses        r
   request_jsonr<   #   s0   ?44
7(O(O(O(V(VW^(_(_Dn$$t8<D!344"(vv5	 %  G 
				5	5 #?c!Q&&@x@@$@@AAAy""# # # # # # # # # # # # # # # # # #s   <CCCc                     |                      | j        dz             }|                    t          j        |dd          dz   d           t          j        ||            d S )Nz.partFr/   )r&   indent
r'   encoding)with_suffixsuffix
write_textr   r0   osreplace)r   valueparts      r
   atomic_jsonrI   1   sa    DK'122DOODJu5CCCdJU\O]]]JtTr   c            
      p   t          j        t                              d                    } | d         }t          |d         z  }t          |d         z  }t          |d         z  }t          |d         z  }t          |d         z  }t          |d	         z  }|                                s|                                rt          d
          t          j        |                    d                    }t          j        |                    d                    }	|                    d          du r|	                    d          du st          d          t          |          |d         k    rt          d          |	d         d         }
t          |          |
d         k    rt          d          t          |          }t          |d         d                   }t          d          }|                    d          dk    s|                    d          durt          d          |                    d          dk    rt          d          |                    d          dk    rt          d           |j                            dd!           i d"d#t          j                    j        d d$          d%t#          |          |d&gd't#          |          d(d d)t#          |          d*d+d,d-d.d/d0d1d2d3d4d5d6d5d7d8d9d:d;d<d=d<d>d<d5d5d?}t          t$          |          }|                                r|                                j        d@k    rt          dA          t          |          }dB |                    dCg           D             }dD |                    dCg           D             }t          |d         d                   }|                    d          dEv |                    d)|                    dFt#          |                              t#          |          k    t-          |          dGk    o|d@                             dH          dIk    t-          |          dGk    t-          |          dGk    o9|d@                             d*          |d@                             d,          fdJk    t/          ||z
            dKk    |d(         d u o	|d4         d5u |                    d          dk    dL}t1          |                                          st          dM|           t4          j                            t4          j        j                                                  }i ddNdddOddP|                    dP          dQt>          dRt$          d"|d"         dS| dT         dUt#          |                     t                              dVt          |          dWt#          |                     t                              dXt          |          dY|d)t#          |                     t                              dZt          |          d[|                                j        d\||||||d]}tC          ||           dN| d^         d<   dNdt#          |                     t                              |dZ         ||d_| d<   || d`<   tC          t          |            tE          t          j#        dN|d"         ||dZ         dad5b                     d S )cNr'   r@   active_pathsintro_posterintro_audiointro_audio_receiptlayout_receiptintrointro_receiptz#intro output/receipt must be virginverifiedTz#intro upstream gate is not verifiedintro_full_sha256zintro audio hash drift	artifactsintro_normalizedr   zintro poster hash driftformatdurationz/healthr7   oknvenc_availablez"intro endpoint health/NVENC failedencoder
h264_nvencz&intro endpoint encoder contract failed
video_rootz/data/video-pipelinez"intro endpoint video root mismatch)parentsexist_okjob_idzgac-mai-004-intro-   scenes)
image_pathrW   
audio_pathsubtitle_pathoutput_pathwidth  height8  fps   crf   presetp4burn_subtitlesF	ken_burnsmotion_presetnone
transitioncuttransition_durationg        fade_infade_out)slice_audioslice_subtitlesr   z-intro endpoint returned without closed outputc                 D    g | ]}|                     d           dk    |S )
codec_typevideoget.0rows     r
   
<listcomp>zmain.<locals>.<listcomp>n   /    YYYc8M8MQX8X8Xc8X8X8Xr   streamsc                 D    g | ]}|                     d           dk    |S )r|   audior~   r   s     r
   r   zmain.<locals>.<listcomp>o   r   r   )N	completedsuccessrX   outputr   
codec_nameh264)rg   ri   g:m?)endpoint_response_terminaloutput_path_exactone_h264_video	one_audio
resolutionduration_one_framesubtitles_disabledserver_encoderzintro verification failed: r   stageservicebase_urlcreate_endpointsource_canon_sha256canon_sha256poster_pathposter_sha256intro_audio_pathintro_audio_sha256input_duration_secondsartifact_sha256artifact_bytesduration_seconds)r3   terminal_responseindependent_probecheckscompleted_atsteps)r7   rR   receiptr   r   r   
updated_at)r7   r_   r   r   r%   )$r   r    PROJECT_MANIFEST	read_textROOTexistsr8   r   r   r#   floatr<   parentmkdiruuiduuid4hexr   CREATEis_filestatst_sizelenabsallvaluesdatetimenowtimezoneutc	isoformatr5   relative_torI   printr0   )manifestactiveposterr   audio_receipt_pathlayout_receipt_pathr   receipt_pathaudio_receiptrO   layout_introaudio_proberW   healthr:   r;   infovideosaudiosoutput_durationr   r   r   s                          r
   mainr   7   s   z*44g4FFGGHn%FF>**F6-((E'< ==(8!99F7O#F&11L}} B,--// B@AAAJ1;;W;MMNNMZ 3 = =w = O OPPNj))T11n6H6H6T6TX\6\6\@AAAe}}&9:::3444!+./ABLf~~h///4555,,K[*:677H)$$Fzz(t##vzz2C'D'DD'P'P?@@@zz),,CDDDzz,#999?@@@
Mt444>tz||'7'<>>#f++8DDE 	c%jj 		
 	s6{{ 	 	$ 	r 	r 	$ 	% 	U 	 	e 	s  	3!" 	C#$  '  G* FG,,H>> Lv{{}}499JKKK==DYYTXXi44YYYFYYTXXi44YYYFDN:677O&.ll8&<&<@d&d%\\-hPSTZP[P[9\9\]]adekalallf++*Tvay}}\/J/Jf/T[[A%&kkQ&lF1IMM',B,BF1IMMRZD[D[+\`l+l!/H"<==O%o6$>e7K[C\`eCe **Y//<?	 	F v}} CAAABBB



 1 5
6
6
@
@
B
BC+D 	 	6::i((	
 	D 	6 	'(# 	x7 	s6--d3344 	 	C 1 1$ 7 788 	fUmm 	!( 	s6--d3344 	6&>>  	&++--/!" 	O#$ %!-  G0 g&&&!,HWg#.DSQ]QiQijnQoQoMpMp  FM  N_  F`  vE  WZ  [  [HW H\ (+++	$*wx7H^m  zA  BS  zT  U  U  di  j  j  j  k  k  k  k  kr   __main__)N)r   r   r   rE   r   urllib.requestr2   r   pathlibr   __file__resolver]   r   r5   r   r   r   r#   r<   rI   r   __name__ r   r
   <module>r      s      				               tH~~'*"	88   % % %# # # #  dk dk dkN zDFFFFF r   