
    6^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 ed          Z
e
j        ZdZdZd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 )    )PathNzF/data/video-pipeline/HaTramAudio/project/017-Tam-Ve-Khong-Ghi-Diem-Denzrun-20260721T030911Z-51bf7fe4Levyu   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-clonec                      t           j                             t           j        j                                                                      dd          S )Nz+00:00Z)datetimenowtimezoneutc	isoformatreplace     work/build_intro.pyr   r      s<    "&&x'8'<==GGIIQQRZ[^__
_r   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                     t          j        t          dz                                            } t          t
          t          d                                D ]0\  }}|                     |          |k    rt          d|z             1d S )Nz.ownership-lock.json)
project_idrun_idownerzownership mismatch )
jsonloadsROOT	read_textPIDRUNOWNERitemsgetRuntimeError)dkvs      r   guardr1      s~    :t**557788s599??AA = =SQqUU1XXq[[|$9!$;<<<[= =r   c                 x    t          j        t          j        dddddddt	          |           g                    S )Nffprobez-verrorz-show_entrieszvformat=duration,size:stream=index,codec_name,profile,codec_type,width,height,pix_fmt,r_frame_rate,sample_rate,channelsz-ofr$   )r$   r%   
subprocesscheck_outputstr)r   s    r   prober8      sh    DJz6	$w  `X  Y^  _e  fi  jk  fl  fl  8m   n   n  o  o  or   c                 d   i }|                                                                  D ]}|                                }|rn|                    d          sYd|v rU|                    dd          \  }}|                                                    d          ||                                <   |S )N#=   z"')r'   
splitlinesstrip
startswithsplit)r   r.   rawsr/   r0   s         r   envfilerC      s    KKMM$$&& : :SIIKK! :q||C   :SAXXwws1~~31Q17799??5#9#9a		l	r   c                     t                       |                     d| j        z   dz             }|                    t	          j        |dd          dz              t          j        ||            d S )N.z.tmpF   )ensure_asciiindent
)r1   	with_namename
write_textr$   dumpsosr   )pathr.   tmps      r   atomicrQ      s    T^^C	M&011#..A[`hiAjAjAjkoAo2p2p2pqsq{|  AE  rF  rF  rF  rF  rFr   c                     t                       t          j        t          dz                                            } | d         }|                     di                               d          }|r0|                    d          dk    s|                    d          durt          d	          t          |d
         d                   }|d         }t          |          |k    rt          d          t          dz  }t          dz  }t          dz  }t          dz  }t          dz  }	|		                                r|	                                rt          j        |	                                          }
|
                    d          dk    r|
                    d          du r|
                    d          |k    rm|
                    d          |k    rTt          |          |
                    d          k    r.t          t          j        ddd|
d         d                     d S t          j                            t          dddd                                          }|                    d          }|	                                s%t          j                            t(          |ddid          }t          j                            |d           5 }|                    d!          5 }|j        d"k    r$t          d#t1          |j                  z             |                    d$          x}r,|                    |           |                    d$          x},d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t                       t7          j        ||           t;          j        d%d&d'd(d)d*d+d,d-d.d/d0d1t1          |          g           t          d2z  }|                    d3t1          |                              d4d5          z   d6z   t1          |                              d4d5          z   d7z              |                    d8          }t;          j        d%d&d'd(d)d*d9d:d;d,t1          |          d<d=d>d?d0d1t1          |          g           t                       t7          j        ||           tA          |          }tC          |d@         dA                   }tE          t          j#                    dBz            }t6          j$        %                                }|dC         |dD<   |                    dE          }|&                    dF           g d%d&d'd(d)dGd?dHdId,t1          |          d,t1          |          dJdKdLdMdNdOdPdQdRdSdTd;dUdVdWdXdYdZd[dId\d]d0d^d_d`d<d=d>d?d.|dadbdct1          |          }t;          j        dddedfdgdhdgdi|dj          dk|dl          g||m           tA          |          }|dn         }do |D             }dp |D             }tC          |d@         dA                   }tO          |          dqk    stO          |          dqk    s|dr                             ds          dtk    s|dr                             du          dvk    s|dr                             dw          dxk    s|dr                             dy          dzk    ss|dr                             ds          d^k    sT|dr                             d{          d=k    s5|dr                             d|          dqk    stQ          ||z
            d}k    rt          d~          t                       t7          j        ||           i ddqdtR          dtT          ddddd|d|dt          dtW          j,        t                                                    -                                dt1          |          dt          |          dt1          |          dddt1          |          dt          |          d|dt1          |          t          |          |.                                j/        |tQ          ||z
            d|ta                      d}tc          |	|           t          t          j        dd||d         d                     d S )Nzscript/project-manifest.jsoncanon_sha256gate_eventsposterstatus	completedverifiedTzposter gate not verifiedartifactrO   artifact_sha256zposter hash driftzaudio/intro-voice.wavzaudio/intro-silence-2s.wavzaudio/intro-full.wavzoutput/intro/intro.mp4zlog/intro-render.jsonsource_canon_sha256source_poster_sha256)rV   rX   resumerZ   
doc_truyenz1.0true)textstylespeeddenoisez.intro-voice.tmp.wavzContent-Typez!application/x-www-form-urlencodedPOST)dataheadersmethodi  )timeoutwb   zintro TTS HTTP i   ffmpegz-hide_bannerz	-loglevelr4   z-yz-flavfiz-izanullsrc=r=48000:cl=monoz-t2z-c:a	pcm_s16lezwork/intro-audio.ffconcatzffconcat version 1.0
file ''z'\''z'
file 'z'
z.intro-full.tmp.wavconcatz-safe0z-ar48000z-ac1formatdurationz .config/ha-tram-audio/worker.envWORKER_PASSWORDSSHPASSz.intro.tmp.mp4)
missing_okz-loopz
-framerate30z-c:v
h264_nvencz-presetp4z-tunehqz-rcvbrz-cq21z-b:vz
-profile:vhighz-level:vz4.0z-pix_fmtyuv420pz-rz-video_track_timescale15360aacz-b:a192kz.6fz	-movflagsz
+faststartsshpassz-esshz-ozBatchMode=noz StrictHostKeyChecking=accept-newWORKER_USER@WORKER_HOST)envstreamsc                 D    g | ]}|                     d           dk    |S )
codec_typevideor,   .0xs     r   
<listcomp>zmain.<locals>.<listcomp>2   s/    +_+_+_!!%%BUBUW^B^B^AB^B^B^r   c                 D    g | ]}|                     d           dk    |S )r   audior   r   s     r   r   zmain.<locals>.<listcomp>2   se      dX  dX  dXjkz{zz  AM  {N  {N  PW  {W  {Wde  {W  {W  {Wr   r<   r   
codec_nameh264widthi  heighti8  r_frame_ratez30/1sample_ratechannelsg{Gz?zintro technical probe failedschema_versionr!   r"   
intro_textintro_text_sha256
voice_pathvoice_sha256silence_pathsilence_duration_secondsg       @
audio_pathaudio_sha256audio_duration_secondsartifact_pathzh264_nvenc via SSH GPU worker)rZ   artifact_bytesduration_secondsduration_delta_secondsencoderr8   completed_at)rV   rX   ru   rZ   )2r1   r$   r%   r&   r'   r,   r-   r   r   existsprintrM   urllibparse	urlencodeTEXTencoderJ   requestRequestENDPOINTurlopenr   rV   r7   r   writerN   r   r5   
check_callrL   r8   floatrC   homeenvironcopyunlinklenabsr(   r)   r   r   r   statst_sizer   rQ   )mcanonperU   poster_hashvoicesilfulloutreceiptoldpayloadtmpvreqrr   r   rp   tmpaapadurcfgr   tmpoutremotevpr   vsauvdr.   s                                  r   mainr      s:   4:t::EEGGHHqQ_O`dedidijwxzd{d{dd  AI  eJ  eJac
|bffX++rvvj/A/A/M/MT`a{T|T|N|R
^F#$$4E1F[KK<0C#D#DD##-I(ICtTjOj$os  uM  pMkn  VZ  [r  Vr  NUNN { {
j""$$%%#WWX##
(;(;t(C(CPeHfHfhmHmHmruryry  {Q  sR  sR  T_  s_  s_  dg  hk  dl  dl  nq  nu  nu  vG  nH  nH  dH  dHkT4Z]^oZpqq	r	rssstztz			\%Z` a a	b	b	i	i	k	kqv  rA  rA  BX  rY  rYlp !nX7NKn;ow}~~#~c#.. )!TYYt__ )hmm,'8QX'FGGGFF9	(aggajjjAFF9	() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) '''"*T%
 
 
 GDgVZ[uvz{~  @F  GR  SV  WZ  S[  S[  \  ]  ]  ](():):;YZ]^cZdZdZlZlmpqxZyZy;y  {F  <F  GJ  KN  GO  GO  GW  GW  X[  \c  Gd  Gd  <d  ej  <j  *k  *k  *k
nn*++J,A8N[fgnostx  zB  CJ  KN  OS  TW  X^  T_  T_  `e  fm  ns  tw  x~  J  KN  OS  KT  KT  CU  -V  -V  -V  W\  W^  W^  W^  _a  _i  jn  os  _t  _t  _t	$KKU2h<
344MoAo9p9pSuwu  vE  vE  vG  vGqt  WZ  [l  Wm  HK  LU  HV  ux  uB  uB  CS  uT  uT  nt  U[  Ub  Ub  nr  Ub  Us  Us  Us 	[  	[.  	[  	[W  	[T  	['  	[#  	[l  	[SW  	[X\  	[]`ag]h]h  	[im  	[nqrvnwnw  	[x~  	[  @L  	[  MV  	[  W[  	[  \c  	[  dh  	[  in  	[  ot  	[  uz  	[  {  	[  @F  	[  GJ  	[  KW  	[  X^  	[  _i  	[  jo  	[  pz  	[  {D  	[  EI  	[  JN  	[  Og  	[  ho  	[  pv  	[  w|  	[  }C  	[  DJ  	[  KP  	[  QX  	[  Y^  	[  _b  	[  cg  	[  ko  hu  hu  	[  vA  	[  BN  	[  OR  SY  OZ  OZ  	[	$uT.Fhlop}l~  jV  jV  BE  FS  BT  jV  jV  _  X^  _  dg  h  h  h  h	&MM"Y-'+_+_w+_+_+_  dX  dXov  dX  dX  dX`b  \a  bd  em  bn  oy  bz  \{  \{  Y[GGQJJ#b''1**1		, 7 7 ? ?2a599WCUCUW[C[C[_abc_d_h_hiq_r_rtx_x_x|~  @A  }B  }F  }F  GU  }V  }V  X^  }^  }^  bd  ef  bg  bk  bk  lx  by  by  {@  b@  b@  DF  GH  DI  DM  DM  N[  D\  D\  ^e  De  De  ik  lm  in  ir  ir  s}  i~  i~  @A  iA  iA  EH  IK  LP  IP  EQ  EQ  RV  EV  EV  ]i  jH  ]I  ]I  WIF3			 	Q  	|C  	  	Xk  	*UY  	Zopu  	  wM  NY  	  Zf  gk  	  l  @G  @N  OS  OZ  OZ  O\  O\  @]  @]  @g  @g  @i  @i  	  jv  wz  {@  wA  wA  	  BP  QT  UZ  Q[  Q[  	  \j  kn  or  ks  ks  	  tN  OR  	  S_  `c  dh  `i  `i  	  jx  y|  }A  yB  yB  	  C[  \`  	  ap  qt  ux  qy  qy  	  LO  PS  LT  LT  fi  fn  fn  fp  fp  fx  LN  hk  ln  os  ls  ht  ht  ^	  g	i	  y	|	  y	~	  y	~	  	  	  	  @
F
  G
N
  O
P
  @
Q
  @
Q
  @
Q
  R
W
  X
\
  X
b
  m
x
  DH  TV  ij  k|  i}  c
~  c
~  X
  X
  R
@  R
@  R
@  R
@  R
@s7   N0A3M/#N/M3	3N6M3	7NN
N
__main__)pathlibr   r   r   r$   rN   r5   urllib.parser   urllib.requestr&   rK   r(   r)   r*   r   r   r   r   r1   r8   rC   rQ   r   __name__r   r   r   <module>r      s6         F F F F F F F F F F F F F F F F F F F F F F F F F F F F	T
RSSX\XaTW  gFbe  MS  GL W	; _ _ _  
= = = o  o  o
 
 
F F F@ @ @6 Zr   