
    
_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ej        ZdZdZdZd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edk    r e             dS dS )    )annotationsN)PathzH/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeuzrun-20260721T040505Z-cd9f944azoro@d12e1733f81bf173b5db789b0028a0be478d0d2e565c05a91e236c95cd33bd78zhttp://192.168.1.104:8024zlog/transcode-intent.jsonzlog/transcode-upload.jsonzoutput/final-upload.mp4c                     t           j                            t           j        j                                                                      dd          S )Nz+00:00Z)dtdatetimenowtimezoneutc	isoformatreplace     work/render/run_transcode.pyr   r      s5    11;;==EEhsSS
Sr   c                   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)fs   r   <lambda>zsha.<locals>.<lambda>
   s    qvvk** r   r   )hashlibsha256openiterupdate	hexdigest)phbr   s      @r   shar"      s    
>ffTll <a****3//;;a;< < < < < < < < < < < < < < <	s   ,A##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   vqs      r   atomicr4      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                |    t          j        t          j        dddddddt	          |           gd	                    S )
Nffprobez-verrorz-show_entriesz[format=duration:stream=codec_type,codec_name,width,height,sample_rate,channels,r_frame_ratez-ofr/   T)text)r/   loads
subprocesscheck_outputstr)r   s    r   proberI      su    DJz6	$w  `}  ~C  DJ  KN  OP  KQ  KQ  8R  X\   ]   ]   ]  ^  ^  ^r   c                    t          j        t          dz                                            } | d         | d         | d         | d         ft          t
          t          dfk    sJ t          t          dz            t          k    sJ d S )Nz.ownership-lock.json
project_idrun_idownerstatusmain_session_pipelinezstory/story-canon.txt)	r/   rE   ROOT	read_textPROJECTRUNOWNERr"   CANON)xs    r   guardrW      s    :t**557788<QRS[Q\]^_f]ghijrhs@tw~  @C  DI  Ja  wb  Ab  Ab  Ab  Ab  jm  nr  sJ  nJ  jK  jK  MR  jR  jR  jR  jR  jR  jRr   c                    t                       t          j        t          dz                                            } | d         dk    r| d         r| d         r| d         d         sJ t          | d                   }|                                t          dz                                  k    rt          |          | d	         k    sJ t          	                                s2t          	                                st          	                                rJ t          d
          }|d         dk    r
|d         du sJ t          |          t          t                    dddddddd	}dt          t          dt           | d	         |t#                      d}t%          t          |           t&          j                            t,          dz   t          j        |                                          ddid          }t&          j                            |d          5 }t          j        |          }d d d            n# 1 swxY w Y   |                    d           p|                    d!          }|sJ |                    d"|t#                      d#           t%          t          |           	 t          d$|z             }	|	                    d          }
|
d%v rnt9          j        d&           A|
dk    rSt%          t          dt          t          |
d||	t#                      d'           t=          d(t          |
          z             |	                    d)i           }|                    d          du r|                    d*          du r}t          |	d+                                                   t                                          k    r;t          	                                r"t                                          j         dk     sJ tC          t                    }d, |d-         D             }d. |d-         D             }tE          |d/         d0                   }tG          |          tG          |          cxk    rdk    rn n|d1         d2         d3k    rv|d1         d4         dk    rd|d1         d5         dk    rR|d1         d6         d7k    r@|d1         d2         d8k    r.|d1         d9         d:k    rtI          || d;         z
            d<k    sJ i d=dd>t          d?t          dd@ddddd |dAt           dB| d	         dt          t                    d	t          t                    dCt                                          j         d;|dDtI          || d;         z
            d*ddE|dF|	dGt#                      i}t%          t          |           tK          t          j        d@||dC         |d	         dH                     d S )INzlog/final-render.jsonrN   	completedverifiedtechnical_verified	visual_qaoutput_pathzoutput/final.mp4output_sha256z/healthok
h264_nvencTi /i ʚ;i  i8  r6   `   F)	input_video_pathoutput_video_pathtarget_output_bytesmax_output_byteswidthheightfpsaudio_bitrate_kbps	overwrite   
submitting)schema_versionrK   rL   rN   source_canon_sha256source_final_sha256r:   
created_atz!/v1/huyenan-transcode-upload/jobszContent-Typezapplication/jsonPOST)dataheadersmethod<   r7   job_idid	submitted)rN   rv   submitted_atz"/v1/huyenan-transcode-upload/jobs/)rY   failed	cancelled   )rm   rK   rL   rN   rZ   rv   job	failed_atztranscode job verificationunder_one_gboutputc                *    g | ]}|d          dk    |S )
codec_typevideor   .0rV   s     r   
<listcomp>zmain.<locals>.<listcomp>   sd      _U  _U  _U  fg  |}  ~J  |K  MT  |T  |T  `a  |T  |T  |Tr   streamsc                *    g | ]}|d          dk    |S )r   audior   r   s     r   r   zmain.<locals>.<listcomp>   sd      XN  XN  XN  _`  uv  wC  uD  FM  uM  uM  YZ  uM  uM  uMr   formatdurationr   
codec_nameh264rf   rg   r_frame_ratez30/1aacsample_rate48000output_durationg{Gz?rm   rK   rL   awaiting_visual_qarn   ro   output_bytesduration_deltarI   r}   rp   )rN   rv   bytesr   )&rW   r/   rE   rP   rQ   r   resolver"   INTENTexistsRECEIPTOUTr@   rH   rR   rS   rU   r   r4   r9   r:   Requestr<   r0   encoder;   r=   r   timesleepRuntimeErrorstatst_sizerI   floatlenabsprint)r   srcr    payloadintentreqr?   createdjidr}   stverprr2   adreceipts                    r   mainr      s   4:t33>>@@AA8VaIaIafghrfsIaxy  {O  yPIa  UV  Wb  Uc  dn  UoIaIaIa  tx  yz  {H  yI  tJ  tJ  ps  RU  R]  R]  R_  R_  bf  gy  by  aB  aB  aD  aD  RD  RD  IL  MP  IQ  IQ  ST  Ud  Se  Ie  Ie  Ie  Ie  qw  q~  q~  q@  q@  fn  IP  IW  IW  IY  IY  fn  be  bl  bl  bn  bn  fn  fn  fn  qt  u~  q  q  op  GH  IQ  GR  TX  GX  GX  ]^  _k  ]l  pt  ]t  ]t  ]t  ]t XX#c((Yb  wA  JN  X\  ce  {}  JO  
P  
P#|jo  GH  IX  GY  dk  y|  y~  y~  	  	  @F  GM  NT  @U  @U  @U^D!DD$*U\J]J]JdJdJfJfp~  @R  pS  [a  b  bnS,,F$)A,,'FFFFFFFFFFFFFFF[[/gkk$//s


6==S^hk{~  |A  |A  JB  JB  <C  <C  <C  DJ  KQ  RX  DY  DY  DY	
.s
233#swwx7H7HB---e*Q--- OOF7QGUXbdpu  @C  JM  Z]  Z_  Z_  $`  $`  a  a  a  ht  uE  FI  JL  FM  FM  uM  hN  hN  bNWW^Bswwz':':d'B'Bsww~G^G^bfGfGfkopst|p}k~k~  lG  lG  lI  lI  KN  KV  KV  KX  KX  lX  lX  ]`  ]g  ]g  ]i  ]i  lX  nq  nv  nv  nx  nx  n@  AN  nN  nN  nN  nN  RW  X[  R\  R\  OQ  _U  _U  km  nw  kx  _U  _U  _U  ]^  XN  XN  df  gp  dq  XN  XN  XN  VW  QV  WY  Zb  Wc  dn  Wo  Qp  Qp  OP  x{  |}  x~  x~  @C  DE  @F  @F  xI  xI  xI  xI  HI  xI  xI  xI  xI  xI  NO  PQ  NR  S_  N`  bh  Nh  Nh  mn  op  mq  ry  mz  |@  m@  m@  EF  GH  EI  JR  ES  UY  EY  EY  ^_  `a  ^b  cq  ^r  tz  ^z  ^z  @  AB  C  DP  Q  SX  X  X  ]^  _`  ]a  bo  ]p  ry  ]y  ]y  ~A	  B	C	  D	E	  F	W	  D	X	  B	X	  ~Y	  ~Y	  [	_	  ~_	  ~_	  ~_	  ~_	 
j
1  
j\'  
j(3  
jxH\  
j]ghm  
j  oC  DH  
j  IQ  RU  
j  Vk  lq  
j  rG  HI  JY  HZ  
j  [h  il  mp  iq  iq  
j  rA  BE  FI  BJ  BJ  
j  KY  Z]  Zb  Zb  Zd  Zd  Zl  
j  m~  @  
j  AQ  RU  VW  XY  Zk  Xl  Vl  Rm  Rm  
j  n|  }A  
j  BI  JL  
j  MR  SV  
j  Wc  dg  di  di  
j  
j  kq  ry  zA  kB  kB  kB  CH  IM  IS  ^r  |  HO  P^  H_  ip  q@	  iA	  TB	  TB	  IC	  IC	  CD	  CD	  CD	  CD	  CD	s   H>>II__main__)
__future__r   r
   r	   r   r/   r1   rF   r   urllib.requestr9   pathlibr   rP   namerR   rS   rT   rU   r<   r   r   r   r   r"   r4   r@   rI   rW   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
TUU^b^gV]  mLhk  SY  MR  `b  Z_  hC  cg  KO  Pk  Kk  DJ  tx  yT  tT  ls  Y]  ^w  Yw  UX S S S  
 i  i  iL L L ^  ^  ^R R RD	 D	 D	 Zr   