
    ^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mZ d dl	Z	 ed          Z
e
j        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)PathzI/data/video-pipeline/HaTramAudio/project/016-Nguoi-Giu-Am-Thanh-Cuoi-Cungzrun-20260720T233725Z-24504f17zoro@fae6fce617a14dc4f8b3bd52968cc688a456c45a60bc2ed7701ccd8164875e02u   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.z0http://192.168.40.32:7861/voice/ngoc-huyen-clonez+image/normalized/intro-poster-1920x1080.pngzaudio/intro-voice.wavzaudio/intro-silence-2s.wavzaudio/intro-full.wavzoutput/intro/intro.mp4zlog/intro-render.jsonc                     t           j                            t           j        j                                                                      dd          S )Nz+00:00Z)dtdatetimenowtimezoneutc	isoformatreplace     work/build_intro.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   atomicr2      s    d+++ammAHVO.L.LAQ\\Z^Zdefty  BC  [D  [D  [D  EI  [I  NJ  NJ  NJ  KM  KU  VW  XY  KZ  KZ  KZ  KZ  KZr   c                    t          j        dddddddt          |           gddd	          }t          j        |j                  S )
Nffprobe-verrorz-show_entrieszCformat=duration:stream=codec_name,sample_rate,channels,width,heightz-ofr-   T)capture_outputtextcheck)
subprocessrunstrr-   loadsstdout)r   rs     r   prober@      s    >9T'/:  AF  GM  NQ  RS  NT  NT  U  ei  os  z~        GK  GQ  RS  RZ  G[  G[  @[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 t          j        t          dz                                            }|d         d	k    r2|d
         r*t          t                    |d         d         d         k    sJ d S )Nz.ownership-lock.json
project_idrun_idownerstatusmain_session_pipelinezstory/story-canon.txtzimage/layout-manifest.json	completedverifiednormalized_assetsintror   )
r-   r=   ROOT	read_textPROJECTRUNOWNERr   CANONPOSTER)llms     r   guardrT      sP   :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D(())50000J11<<>>??r(|U`G`G`eghresG`x{  }C  yD  yD  FH  I\  F]  ^e  Ff  go  Fp  yp  yp  yp  yp  yp  ypr   c                    t                       t          j                            dd           t          j                            dd           t
          dz                      dd           t          j        t          	                                          
                                } dddd}t                                          rt                                          rt          j        t                                                    }|                    d          d	k    rl|                    d
          rW|                    d          t#          t                    k    r,t%          t          j        d|d         d                     d S t                                          rt)          d          dt*          t,          ddt.          t          | |t1          t2                    t#          t2                    dt5                      d}t7          t          |           t
          dz  }t9          j        ddddddddt<          ddddt           dd dd!dd"d#t1          |          gdd$          }|j        r\|                     d%|j!        p|j"        d&d          t5                      '           t7          t          |           t)          d(          tG          j$        |t                     tK          t                    }tM          |d)         d*                   }|d+k    sJ t9          j        d,d-d.d/d0d1d2d3d4d5d6d7t1          tN                    gd8           t
          d9z  }|(                    d:t          )                                 d;tN          )                                 d<           t9          j        d,d-d.d/d0d=d>d?d2t1          |          d@dAdBdCd6d7t1          tT                    gd8           tK          tT                    }tM          |d)         d*                   }	tW          |	|dDz   z
            dEk     sJ t9          j        g d,d-d.d/dFdCd2t1          t2                    d2t1          tT                    d4|	dGdHdIdJdKdLdMdNdOdPdQd6dRdSdTd@dAdBdUdVdWt1          t                    d8           tK          t                    }
|
dX         }dY |D             }dZ |D             }tM          |
d)         d*                   }tY          |          dk    rItY          |          dk    r6|d+         d[         |d+         d\         fd]k    rtW          ||	z
            d^k    sJ |                     d	dt#          t                    t#          tN                    t#          tT                    |dD|	t1          t                    t#          t                    t          -                                j.        |d_d`gt5                      a           t7          t          |           t%          t          j        d	||d         db                     d S )cNTr!   z
work/intro
doc_truyenz1.0true)stylespeeddenoiserE   rG   rH   video_sha256completed_reused)rE   r[   z8intro voice exists without terminal receipt; fail closed   requesting_voiceF)schema_versionrB   rC   rE   rH   source_canon_sha256r8   text_sha256request_configposter_pathposter_sha256voice_requests
created_atzwork/intro/intro-voice.wav.partcurlz--fail-with-bodyz--silentz--show-errorz
--max-time900z-XPOSTz-Hz/Content-Type: application/x-www-form-urlencodedz--data-urlencodeztext=zstyle=doc_truyenz	speed=1.0zdenoise=truez--output)r7   r8   failedi)rE   r6   
updated_atzintro TTS failedformatdurationr   ffmpegr5   r6   z-yz-flavfiz-izanullsrc=r=48000:cl=monoz-tz2.000z-c:a	pcm_s16le)r9   zwork/intro/concat.txtzfile 'z'
file 'z'
concatz-safe0z-ar48000z-ac1g       @g?z-loopz.6fz-r30z-c:vlibx264z-presetmediumz-crf18z-pix_fmtyuv420paacz-b:a192k2z	-movflagsz
+faststartstreamsc                <    g | ]}|                     d           |S )widthget.0xs     r   
<listcomp>zmain.<locals>.<listcomp>/   s'    ,R,R,R1155>>,RQ,R,R,Rr   c                <    g | ]}|                     d           |S )sample_rater   r   s     r   r   zmain.<locals>.<listcomp>/   sW      XD  XD  XD^_nonsns  uB  oC  oC  XDXY  XD  XD  XDr   r   height)  8  g0b/?r   r   )rE   rH   voice_sha256silence_sha256intro_audio_sha256voice_durationsilence_durationintro_audio_duration
video_pathr[   video_bytesvideo_duration
resolutionrk   )rE   rm   r[   )/rT   VOICEr(   r)   VIDEOrK   r   r   TEXTencoder   RECEIPTexistsr-   r=   rL   r   r   printr.   RuntimeErrorrM   rN   rP   r<   rQ   r   r2   r:   r;   ENDPOINT
returncoder   stderrr>   r/   r   r@   floatSILENCEr,   as_posixFULLabslenstatst_size)text_shacfgr?   tmpqvpvdrq   fpfdoutr}   vsausdurs                  r   mainr      s(
   		D$		7	7	78J8JSWae8J8f8f8fhlmyhy  hA  hA  JN  X\  hA  h]  h]  h]
.
'
'
1
1
3
3V[fl8m8mCNN w wJw  ""##!UU8__k!!aeeJ&7&7!AEE.<Q<QSVW\S]S]<]<]^cdhdn  zL  \]  ^l  \m  pn  pn  eo  eo  _p  _p  _p  qw  qw	LLNNa&`aaaGSBT`e  }B  JN  ]e  wz  IL  MS  IT  IT  eh  io  ep  ep  BC  QT  QV  QV  W  W  X^  _f  gh  Xi  Xi  Xi	
++>6,Z|TYZ^_efnos  uf  gy  zH  BF  zH  zH  I[  \n  oA  BM  N`  ao  pz  {~  B  {C  {C  D  TX  ^b  c  c  cL  [!(((!(2Fah1O[^[`[`(aaabhipqrbsbsbs  {G  HZ  {[  {[  u[C%,,r%8Z0H*I*IrQSTUQUQUQUQU$wtD>XY]^eflmxy|  ~E  zF  zF  G  NR  S  S  S  S$$V%6%67r@P@P7r7r[b[k[k[m[m7r7r7r%s%s%s$wtD'#d3v;;W\]dejknou  wB  CF  GK  CL  CL  M  TX  Y  Y  Y  Y	$KK5Hj122#b"S&k:J:J3:N:N:N:N  P  P$  Pw  Pt  PG  PC  P  PS[[  P  PcRVii  PX\  P`b]h]h  Pim  Pnr  Psy  P  {D  P  EN  P  OW  P  X^  P  _c  P  dn  P  ox  P  y  P  @E  P  FL  P  MS  P  TY  P  Za  P  bg  P  hk  P  lw  P  xD  P  EH  IN  EO  EO  P  W[  \  \  \  \
5\\#i.',R,R,R,R,R  XD  XDcj  XD  XD  XDSV  IN  OR  S[  O\  ]g  Oh  Ii  Ii  EH  qt  uw  qx  qx  z{  q{  q{  @C  DG  @H  @H  JK  @K  @K  QS  TU  QV  W^  Q_  `b  cd  `e  fn  `o  Pp  r}  P}  P}  BE  FI  JL  FL  BM  BM  OX  BX  BX  BX  BXdE

RUV]R^R^ruvzr{r{  LN  `c  y{  GJ  KP  GQ  GQ  _b  ch  _i  _i  v{  v@  v@  vB  vB  vJ  Z]  jn  os  it  @C  @E  @E  F  F  F  GM  NU  VW  GX  GX  GX  Y^  _c  _i  t  KN  ^_  `n  ^o  jp  jp  _q  _q  Yr  Yr  Yr  Yr  Yrr   __main__)
__future__r   r
   r	   r   r-   r/   pathlibr   r:   rK   namerM   rN   rO   rP   r   r   rQ   r   r   r   r   r   r   r   r2   r@   rT   r   __name__r   r   r   <module>r      s   " " " " " "       				          	T
UVV	5#Fe  JL5 W	;99E\@\%ei  kG  fG]d  MQ  Rh  Mh  HL  os  tL  oL  in  UY  Zq  Uq  MT S S S  
Z Z Z[ [ [p p pr r r& Zr   