
    ^j                        d dl m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
Z
d dlmZ  ed          ZdZdZdZedz  Zed	z  Zed
z  Zedz  Zedz  Zd Zd Zd Zd Zd Zd Zd Zd Zedk    r e             dS dS )    )annotationsN)PathzI/data/video-pipeline/HaTramAudio/project/016-Nguoi-Giu-Am-Thanh-Cuoi-Cungzrun-20260720T233725Z-24504f17@fae6fce617a14dc4f8b3bd52968cc688a456c45a60bc2ed7701ccd8164875e02zhttp://192.168.1.104:8023zoutput/intro/intro.mp4zoutput/footage/footage.mp4zoutput/final.mp4zlog/final-render-intent.jsonzlog/final-render.jsonc                     t           j                            t           j        j                                                                      dd          S )Nz+00:00Z)dtdatetimenowtimezoneutc	isoformatreplace     work/render/run_final.pyr
   r
      s5    11;;==EEhsSS
Sr   c                0   t          j                    }|                     d          5 }|                    d          x}r,|                    |           |                    d          x},d d d            n# 1 swxY w Y   |                                S )Nrbi   )hashlibsha256openreadupdate	hexdigest)phfbs       r   shar      s    
>ffTll +a66+*qxx{{{166+*+ + + + + + + + + + + + + + +	s   AA99A= A=c                    | j                             dd           |                     | j        dz             }|                    t          j        |dd          dz              t          j        ||            d S )NT)parentsexist_okz.tmpF   )ensure_asciiindent
)	parentmkdirwith_suffixsuffix
write_textjsondumpsosr   )r   ots      r   atomicr0      s    tT:::Q]]18TZ?=[=[1\]\h\himistu  DI  QR  jS  jS  jS  TX  jX  ]Y  ]Y  ]Y  Z\  Zd  ef  gh  Zi  Zi  Zi  Zi  Zir   c                    t           j                            t          | z   d          5 }t	          j        |          cd d d            S # 1 swxY w Y   d S )N   timeout)urllibrequesturlopenBASEr+   load)pathrs     r   getr<      sf    nT$Yr22Katy||KKKKKKKKKKKKKKKKKKs   AAAc                B   t           j                            t          | z   t	          j        |                                          ddid          }t           j                            |d          5 }t	          j        |          cd d d            S # 1 swxY w Y   d S )NzContent-Typezapplication/jsonPOST)dataheadersmethod<   r3   )	r5   r6   Requestr8   r+   r,   encoder7   r9   )r:   objqr;   s       r   postrG      s    	>$t)C)?)?)A)A>ZlJmu{||nQr**Caty||CCCCCCCCCCCCCCCCCCs   3BBBc                    t          j        dddddddt          |           gddd	          }t          j        |j                  S )
Nffprobez-verrorz-show_entrieszNformat=duration:stream=codec_type,codec_name,width,height,sample_rate,channelsz-ofr+   T)capture_outputtextcheck)
subprocessrunstrr+   loadsstdout)r   rF   s     r   proberS      s    >9T'/  ;K  LQ  RX  Y\  ]^  Y_  Y_  `  pt  z~  EI  J  J  J  RV  R\  ]^  ]e  Rf  Rf  Kfr   c                    t          j        t          dz                                            } | d         | d         | d         | d         ft          j        t
          ddfk    sJ t          t          dz            t          k    sJ t          j        t          d	z                                            }|d         d
k    r4|d         r,|d         d         r|d         t          t                    k    sJ t          j        t          dz                                            }|d         d
k    r<|d         r4|d         r,|d         d         r|d         t          t                    k    sJ d S )Nz.ownership-lock.json
project_idrun_idownerstatuszoromain_session_pipelinezstory/story-canon.txtzlog/intro-render.json	completedverified	visual_qavideo_sha256zlog/footage-render.jsontechnical_verifiedoutput_sha256)
r+   rQ   ROOT	read_textnameRUNr   CANONINTROFOOTAGE)lir   s      r   guardrj      sI   :t**557788<QRS[Q\]^_f]ghijrhs@tw{  xA  BE  FL  Md  we  Ae  Ae  Ae  Ae  mp  qu  vM  qM  mN  mN  PU  mU  mU  mU  mU:t++6688998kAYAY^_`j^kAYpqr}p~  @J  qKAY  PQ  R`  Pa  cf  gl  cm  cm  Pm  Pm  Pm  Pm:t--88::;;1X;P[C[C[`abl`mC[rs  uI  sJC[  OP  Q\  O]  ^h  OiC[  no  p  n@  BE  FM  BN  BN  nN  nN  nN  nN  nN  nNr   c                    t                       t          t                    t          t                    t          t                    ddddddd	} t          j        t          j        | dd	
          	                                          
                                }d }t                                          rt          j        t                                                    }|d         |k    sJ |                    d          dv rpt                                          rW|                    d          t!          t                    k    r,t#          t          j        d|d         d                     d S |                    d          }|st                                          rt%          d          t&                                          rQt          j        t&                                                                        d          dk    rt%          d          t          d          }|                    d          dk    r,|                    d          du r|                    d          rJ dt(          j        t,          dd|| t.          t!          t                    t!          t                    t1                      d}t3          t&          |           t5          d|           }|                    d          p|                    d          }|sJ |                    d|t1                                 t3          t&          |           i |d|i}t3          t          |           	 t                       t          d |z             }t          j        t                                                    }|                    |                    d|d                   |t1                      !           t3          t          |           |                    d          d"v rt%          d#          |                    d          d$k    r|                    d%          pi                     d&          du rt                                          sJ t9          t                    }|d'         }	d( |	D             }
d) |	D             }t;          |d*         d+                   }t;          t9          t                    d*         d+                   t;          t9          t                    d*         d+                   z   }t=          |
          dk    rt=          |          dk    ry|
d,         d-         d.k    rg|
d,         d/         |
d,         d0         fd1k    rG|d,         d-         d2k    r5t?          |d,         d3                   d4k    rtA          ||z
            d5k    sJ |                    d6ddt.          t!          t                    t!          t                    t          t                    t!          t                    t          !                                j"        ||tA          ||z
            t1                      7           t3          t          |           t#          t          j        d6||d         |d8         |d9                     d S tG          j$        d:           w);Nr2     8  
h264_nvencp4   )	intro_video_pathfootage_video_pathoutput_video_pathfpswidthheightvideo_encoderpresetcqT),:)	sort_keys
separatorsrequest_sha256rX   )r[   awaiting_visual_qar`   completed_reusedjob_id)rX   r   zunreceipted final exists
submittingzambiguous final intentz/healthokrunning   F)schema_versionrU   rV   rX   r\   r~   payloadsource_canon_sha256source_intro_sha256source_footage_sha256
created_atz/v1/huyenan-render-final/jobsid	submitted)rX   r   
updated_atsubmitted_responsez/v1/huyenan-render-final/jobs/)rX   last_responser   )failed	cancelledzfinal terminal failurer[   verificationr\   streamsc                *    g | ]}|d          dk    |S )
codec_typevideor   .0xs     r   
<listcomp>zmain.<locals>.<listcomp>*   s`      |l  |l  |l  CD  ST  Ua  Sb  dk  Sk  Sk|}  Sk  Sk  Skr   c                *    g | ]}|d          dk    |S )r   audior   r   s     r   r   zmain.<locals>.<listcomp>*   sd      o_  o_  o_  vw  FG  HT  FU  W^  F^  F^  pq  F^  F^  F^r   formatdurationr   
codec_nameh264ru   rv   )rl   rm   aacsample_ratei  gVUUUUU?r   )rX   r_   r\   r   r   r   output_pathr`   output_bytesoutput_durationexpected_durationduration_deltacompleted_atr   )rX   r   r   bytesr      )%rj   rP   rf   rg   OUTPUTr   r   r+   r,   rD   r   RECEIPTexistsrQ   rb   r<   r   printRuntimeErrorINTENTra   rc   rd   re   r
   r0   rG   r   rS   floatlenintabsstatst_sizetimesleep)r   request_shajobr;   r   intentresponsejdr   vadurexpecteds                 r   mainr      s	   SZZS\\fijpfqfqxz  DH  RV  gs  }A  GI  J  J  W^  We  fj  fp  qx  CG  S\  f]  f]  f]  fd  fd  ff  ff  Wg  Wg  Wq  Wq  Ws  Ws  KV  x|  twNN Jw  ""##!1-=+>+K+K+K+KUU8__:::v}}:STSXSXYhSiSiknoukvkvSvSvw|  ~B  ~H  Se  op  qy  oz  I{  I{  ~|  ~|  x}  x}  x}  ~D  ~DeeHoo# S]]__C<(BCCC]]__  AF$4$4$6$677;;HEE|SSZfg  [A  [A  UA	NN!!%%//4//AEE,4G4G44O4OXYX]X]^gXhXh4O4O4O$)S,bg  zE  PW  ns  JM  NS  JT  JT  mp  qx  my  my  GJ  GL  GL  
M  
M&  NT  U[  \b  Nc  Nc  Nc/88(X\\(=S=S=iW_WcWcdhWiWiqtjtjtjt--{#-???vf@U@U@U  YA[a  YAbvw  YA  YAVW  BH  IP  QR  BS  BS  BS'''C0455!
7CTCTCVCV8W8WaXYX`X`hihmhmnvwx  zB  xC  iD  iD  ST  `c  `e  `eX`  Yf  Yf  Yf  gm  nu  vw  gx  gx  gxUU8__...\BZ5[5[/[UU8__k!!55  &B
+
+J
7
74
?
?FMMOO
?
?
?V[\bVcVcTUlmnwlxdk  |l  |l  HO  |l  |l  |lyz  o_  o_  {B  o_  o_  o_  mn  di  jk  lt  ju  v@  jA  dB  dB  `c  LQ  RW  X]  R^  R^  _g  Rh  is  Rt  Lu  Lu  v{  |A  BI  |J  |J  KS  |T  U_  |`  va  va  La  CK
a&&!))A		ad<&8&&@&@ad7mTUVWTXYaTbEcepEpEpuvwxuy  {G  vH  JO  vO  vO  TW  XY  Z[  X\  ]j  Xk  Tl  Tl  ns  Ts  Ts  x{  |  @H  |H  xI  xI  KT  xT  xT  xT  xT88'4ch  ~A  BG  ~H  ~H  _b  cj  _k  _k  x{  |B  xC  xC  RU  V\  R]  R]  kq  kv  kv  kx  kx  k@  QT  go  B  CF  GO  CO  P  P  ^a  ^c  ^c8  d  d  d  ek  ls  tu  ev  ev  ev  w|  }A  }G  Rf  ps  }~  N  }O  XY  Zh  Xi  ux  Hy  Hy  }z  }z  w{  w{  w{  |B  |B*Q---r   __main__)
__future__r   r	   r   r   r+   r-   r   urllib.requestr5   rN   pathlibr   ra   rd   re   r8   rf   rg   r   r   r   r
   r   r0   r<   rG   rS   rj   r   __name__r   r   r   <module>r      s   " " " " " " 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      	T
UVV[zWZ  BD  |A  Je  EI
##D1M,MGUYZlUlftx  zX  uXms  ae  f}  a}  Y` S S S  
 i  i  iL L LD D Df f fN N N  * Zr   