
    a_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d	Zd
Zedz  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!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@d12e1733f81bf173b5db789b0028a0be478d0d2e565c05a91e236c95cd33bd78@e9da2b4a8ed90e9f947392bc8f7099ecec080e0d567769b8cff8477c04dd5722z0http://192.168.40.32:7861/voice/ngoc-huyen-cloneu   Các bạn đang nghe truyện được phát từ Hạ Trâm Audio, chúc các bạn có những giây phút nghe truyện vui vẻ. Hãy ủng hộ chúng tôi bằng cách like video và đăng ký kênh.zaudio/intro-voice.wavzaudio/intro-silence-2s.wavzaudio/intro-full.wavzoutput/intro/intro.mp4zlog/intro-tts-intent.jsonzlog/intro-render.jsonc                     t           j                            t           j        j                                                                      dd          S )Nz+00:00Z)dtdatetimenowtimezoneutc	isoformatreplace     work/render/build_intro.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   atomicr6      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                r    t          t          j        dddddddt          |           gd	                    S )
Nffprobe-verrorz-show_entrieszformat=durationz-ofzdefault=nw=1:nk=1T)text)float
subprocesscheck_outputstr)r    s    r   durationr@      sk    uZ4iW_]not  vI  JM  NO  JP  JP  6Q  W[  \  \  \  ]  ]  ]r   c                 T   t          j        t          dz                                            } | d         | d         | d         | d         ft          t
          t          dfk    sJ t          t          dz            t          k    r 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+image/normalized/intro-poster-1920x1080.png)
r1   loadsROOT	read_textPROJECTRUNOWNERr#   CANONPOSTER)xs    r   guardrQ      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  WZ  [_  `M  [M  WN  WN  PV  WV  WV  WV  WV  WV  WVr   c                    t                       t                                          s2t                                          st                                          rJ dt
          t          dt          t          t          j
        t                                                                                    dddddt                      d
} t          t          |            t           j                            t          dddd	                                          }t           j                            t*          |d
did          }t                              d          }t           j                            |d          5 }|                    d          5 }|j        dk    sJ 	 |                    d          }|sn|                    |           .	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t9          j        |t                     t=          t                    }|dk    sJ t?          j         ddddddddddd d!tC          tD                    gd"           tG          t=          tD                    d#z
            d$k     sJ tH          d%z  }|%                    d&t           d'tD           d(           tL                              d)          }	t?          j         dddddd*d+d,dtC          |          d-d.tC          |	          gd"           t9          j        |	tL                     t=          tL                    }
tG          |
|d#z   z
            d/k     sJ t          j'        (                    dd0           t                              d1          }t?          j         g ddddd2d3dtC          tH          d4z            dtC          tL                    d|
d5d6d7d8d9d:d;d<d=d>d?d d@dAdBdCdDdEd3dFdGtC          |          d"           t9          j        |t                     t=          t                    }tG          ||
z
            dHk    sJ | )                    dItU          t                    t                      dJ           t          t          |            i dKddLt
          dMt          dNdOdPddQt          dRt          dS| dT         dUtC          t                    dVtU          t                    dW|dXtC          tD                    dYtU          tD                    dZt=          tD                    d[tC          tL                    d\tU          tL                    d]|
tC          t                    tU          t                    t          +                                j,        |tG          ||
z
            d^d@d_t                      d`	}t          tZ          |           t]          t_          j0        |dN         |t          +                                j,        |da         db                     d S )cN   
submitting
doc_truyenz1.0true)stylespeeddenoiseF)
schema_versionrB   rC   rE   source_canon_sha256source_poster_sha256text_sha256request_config
voice_test
created_at)r;   rW   rX   rY   zContent-Typez!application/x-www-form-urlencodedPOST)dataheadersmethodzintro-voice.tmp.wavi  )timeoutwb   Ti   r   ffmpegz-yr9   r:   z-flavfiz-izanullsrc=r=48000:cl=monoz-tz2.000z-c:a	pcm_s16le)checkg       @gMbP?zwork/render/intro-concat.txtzfile 'z'
file 'z'
zintro-full.tmp.wavconcatz-safe0z-ccopygQ?r%   zintro.tmp.mp4z-loop1rG   z.6fz-r30z-c:vlibx264z-presetmediumz-crf18z-pix_fmtyuv420paacz-b:a192kz-ar48000z-acz	-movflagsz
+faststartg0b/?	completed)rE   voice_sha256completed_atrZ   rB   rC   rE   awaiting_visual_qaverifiedr[   r\   intro_text_sha256r]   
voice_pathry   voice_durationsilence_pathsilence_sha256silence_durationfull_audio_pathfull_audio_sha256full_audio_durationh264	1920x1080)	output_pathoutput_sha256output_bytesoutput_durationduration_deltavideo_codecaudio_codec
resolutionr`   r   )rE   r@   bytesr   )1rQ   INTENTexistsVOICEOUTrK   rL   rN   rO   r   r   TEXTencoder   r   r6   urllibparse	urlencoderequestRequestENDPOINT	with_nameurlopenr   rE   r   writer3   r   r@   r=   runr?   SILabsrI   r0   FULLr,   r-   r   r#   statst_sizeRECEIPTprintr1   r2   )intentrb   reqtmprr   r"   vdrl   tmpfullfdtmpoutodreceipts                 r   mainr      s   FMMOO	OELLNN	O3::<<	O	O	Oijx  JM  Wc  z  W]  ls  lz  {  {F  {F  {H  {H  lI  lI  lS  lS  lU  lU  p|  EJ  U[  g\  g\  jo  }@  }B  }B  XC  XCPV  DJ  KQ  RX  DY  DY  DYlT,uW]^^__ffhhmsm{  nD  nD  EM  SW  ao  pS  `T  \b  nD  nc  ncil  hm  hw  hw  xM  hN  hN  dgnS.. !CHHTNN a	
3VVI1
>E771:::	                              C(5//rA$tGD>XY]^eflmxy|  ~A  zB  zB  C  JN  O  O  O  O  WZ  [c  dg  [h  [h  il  [l  Wm  Wm  ns  Ws  Ws  Ws  Ws++F,=,=>_u>_>_WZ>_>_>_,`,`,`imiwiw  yM  jN  jNah  OY  O]  _g  hl  mq  ry  z~  G  HO  PS  TX  Y\  ]c  Yd  Yd  ei  jp  qt  u|  q}  q}  ^~  EI  OJ  OJ  OJ  OJ  KM  KU  V]  ^b  Kc  Kc  Kc  go  pt  gu  gu  df  }@  AC  EG  HK  EK  AL  }M  }M  NR  }R  }R  }R  }R$---S]]?5S5SfT^Tb  dPdl  dPmq  dPrv  dPw~  dP  @G  dP  HK  dP  LP  dP  QT  UY  ZG  UG  QH  QH  dP  IM  dP  NQ  RV  NW  NW  dP  X\  dP  `b  ]h  ]h  dP  im  dP  nr  dP  sy  dP  zC  dP  DM  dP  NV  dP  W]  dP  ^b  dP  cm  dP  nw  dP  x~  dP  D  dP  EK  dP  LR  dP  SX  dP  Y`  dP  af  dP  gj  dP  kv  dP  wC  dP  DG  HN  DO  DO  dP  W[  U\  U\  U\  U\  ]_  ]g  hn  or  ]s  ]s  ]s  w  @C  wD  wD  tv  LO  PR  SU  PU  LV  LV  Xa  La  La  La  LaCJJceeTTUUUV\]cdjVkVkVk  uB  vF  GH  uB  IU  V]  uB  ^f  gj  uB  ks  tH  uB  IS  TY  uB  Zo  pu  uB  vL  MS  uB  Tg  hn  o|  h}  uB  ~J  KN  OT  KU  KU  uB  Vd  eh  in  eo  eo  uB  p@  AC  uB  DR  SV  WZ  S[  S[  uB  \l  mp  qt  mu  mu  uB  vH  IQ  RU  IV  IV  uB  Wh  il  mq  ir  ir  uB  sF  GJ  KO  GP  GP  uB  Qf  gi  uB  x{  |  x@	  x@	  Q	T	  U	X	  Q	Y	  Q	Y	  i	l	  i	q	  i	q	  i	s	  i	s	  i	{	  N
P
  b
e
  f
h
  i
k
  f
k
  b
l
  b
l
  {
A  PU  cn  |  |A  |A  uB  uB  uBls  CI  JQ  RY  CZ  CZ  CZ  [`  ae  ak  v}  ~F  vG  SU  ^a  ^f  ^f  ^h  ^h  ^p  zA  BQ  zR  lS  lS  aT  aT  [U  [U  [U  [U  [Us6   =G4=GG4G!	!G4$G!	%G44G8;G8__main__)#
__future__r   r   r
   r   r1   r3   r=   urllib.parser   urllib.requestpathlibr   rI   namerK   rL   rM   rN   rO   r   r   r   r   r   r   r   r   r   r#   r6   r@   rQ   r   __name__r   r   r   <module>r      s   " " " " " " L L L L L L L L L L L L L L L L L L L L L L L L L L L L      	T
TUU^b^gV]  mLhk  SY  MR  `b  Z_  jl  ci  vh  mu  n  im
""t,H'H3dSiNinr  tL  oLjm  TX  Yt  Tt  MS  }A  BY  }Y  u| S S S  
 i  i  i ]  ]  ]V V VU U U Zr   