
    iG^j                    p   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dZd	Zed
z  dz  dz  Zedz  dz  Zedz  dz  Zedz  dz  Zedz  dz  Zedz  dz  Zedz  dz  dz  Zedz  dz  Zd*dZd+dZd,d Zd-d"Zd.d$Zd/d&Zd,d'Z d,d(Z!e"d)k    r e!             dS dS )0    )annotationsN)PathzE/data/video-pipeline/HaTramAudio/project/014-Nguoi-Ve-Ban-Do-Mua-Dongz014-Nguoi-Ve-Ban-Do-Mua-Dongzrun-20260720T152357Z-c85a2128zoroz0http://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.image
normalizedzintro-poster-1920x1080.pnglogzposter.jsonscriptzpromotion-report.jsonaudiozintro-voice.wavzintro-silence-2s.wavzintro-full.wavoutputintroz	intro.mp4zintro-render.jsonreturnstrc                     t           j                             t           j        j                                                                      dd          S )Nz+00:00Z)datetimenowtimezoneutc	isoformatreplace     work/render_intro.pyr   r      s<      !2!677AACCKKHVYZZZr   pathr   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    !&&"9"9 r   r   )hashlibsha256openiterupdate	hexdigest)r   hblockr   s      @r   shar)   !   s    A	4 A99993?? 	 	EHHUOOOO	               ;;==s   ,A##A'*A'Nonec                    t          j        t          dz                      d                    } t          t
          t          dd                                D ]0\  }}|                     |          |k    rt          d|           1d S )Nz.ownership-lock.jsonutf-8encodingmain_session_pipeline)
project_idrun_idownerstatuszownership mismatch: )
jsonloadsROOT	read_text
PROJECT_IDRUN_IDOWNERitemsgetRuntimeError)lockkeyvalues      r   guardrA   )   s    :t44???QQRRD%/6E]tuu{{}} = =
U88C==E!!;c;;<<< "= =r   dictc                x    t          j        t          j        dddddddt	          |           g                    S )Nffprobez-verrorz-show_entrieszYformat=duration,size:stream=index,codec_type,codec_name,width,height,sample_rate,channelsz-ofr4   )r4   r5   
subprocesscheck_outputr   r   s    r   proberI   0   sC    :j-4/cvs4yy/     r   floatc                R    t          t          |           d         d                   S )Nformatduration)rJ   rI   rH   s    r   rM   rM   8   s     tX&z2333r   r@   c                    t                       |                     d| j        z   dz             }|                    t	          j        |dd          dz   d           t          j        ||            d S )	N.z.tmpF   )ensure_asciiindent
r,   r-   )rA   	with_namename
write_textr4   dumpsosr   )r   r@   temps      r   atomic_jsonrZ   <   sl    	GGG>>#	/F233DOODJu5CCCdJU\O]]]JtTr   c                    t           j                            t          dddd                                          } t           j                            t          | ddid          }t          	                    d	          }t           j        
                    |d
          5 }|                    d          5 }|                    d          x}r,|                    |           |                    d          x},|                                 t          j        |                                           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |                    d          5 }|                    d          }d d d            n# 1 swxY w Y   |d d         dk    s|dd         dk    rt%          d          t'                       t          j        |t                     d S )N
doc_truyenz1.0true)textstylespeeddenoisezContent-Typez!application/x-www-form-urlencodedPOST)dataheadersmethodz.intro-voice.tmp.wavi  )timeoutwbi   r         s   RIFF   s   WAVEzintro TTS is not WAV)urllibparse	urlencodeTEXTencoderequestRequestENDPOINTVOICErT   urlopenr#   r   writeflushrX   fsyncfilenor=   rA   r   )payloadrp   rY   responseoutr(   r   headers           r   
synthesizer}   C   st   l$$d\TYfl%m%mnnuuwwGn$$XGnVyEz  DJ$  K  KG??122D					5	5 499T?? VY}}[111e 	IIe  }}[111e 			
	                             
 
4 A              bqbzWqt 7 71222	GGGJtUsI   !E7A>E5EE	EE		EEE8FF!Fc                 (   t                       t          j        t                              d                    } t          j        t
                              d                    }|                     d          p|                     d          }|                     d          dvs*|                     d          r|                    d          st          d          |                    d          |k    rt          d	          t          t                    }|                    d
          p|                    d          }||k    rt          d          t          j        t          j        t          j        fD ]}|                    dd           t                       t!          t                    }|                    dg           }t#          |          dk    s]|d                             d          dk    s>|d                             d          dk    s|d                             d          dk    rt          d          t%          j        ddddddddd d!d"d#dt)          t*                    g           t,          d$z  d%z  }|                    d&d't           d(t*           d)z   d           t0                              d*          }	t%          j        ddddddd+d,d-dt)          |          d.d/t)          |	          g           t                       t5          j        |	t0                     t9          t0                    }
t                              d0          }t%          j        g dddddd1d2dt)          t                    dt)          t0                    d!|
d3d4d5d6d7d8d9d:d;d<d=d#d>d?d@dAddBdCdDdEt)          |                     t!          |          }t;          |dF         dG                   }t=          ||
z
            dHk    rt          dI          t                       t5          j        |t                     i dJddKt>          dLt@          ddMddd|dN|dOtB          dPtE          j#        tB          $                    d                    %                                dQt)          t                    dRt          t                    dSt)          t*                    dTt9          t*                    dUt)          t0                    dVt          t0                    dW|
dXt)          t                    t          t                    t          &                                j'        |t=          ||
z
            t!          t                    tQ                      dY}tS          t          |           tU          t          j+        dMd||dZ         d[d\]                     d S )^Nr,   r-   canon_sha256source_canon_sha256r3   >   passed	completedcompleted_content_onlyverifiedz&promotion/artwork gate is not verifiedzartwork canon hash mismatchnormalized_intro_poster_sha256intro_poster_sha256zposter hash mismatchT)parentsexist_okstreams   r   
codec_name	pcm_s16lesample_rate48000channelszintro voice format mismatchffmpegz-hide_bannerz	-loglevelrE   z-yz-flavfiz-izanullsrc=r=48000:cl=monoz-tz2.000z-c:aworkzintro.ffconcatzffconcat version 1.0
zfile 'z'
file 'z'
z.intro-full.tmp.wavconcatz-safe0z-ccopyz.intro.tmp.mp4z-loop1z.6fz-c:vlibx264z-presetmediumz-crf18z-r30z-pix_fmtyuv420paacz-b:a128kz-arz-ac2z	-movflagsz
+faststartrL   rM   g0b/?zintro duration mismatchschema_versionr0   r1   r   source_poster_sha256
intro_textintro_text_sha256
voice_pathvoice_sha256silence_pathsilence_duration_seconds
audio_pathaudio_sha256audio_duration_secondsartifact_path)artifact_sha256artifact_bytesduration_secondsduration_delta_secondsrI   completed_atr   )r3   r   rM   r   F)rQ   ),rA   r4   r5   	PROMOTIONr7   ARTWORK_RECEIPTr<   r=   r)   POSTERrs   parentOUTPUTRECEIPTmkdirr}   rI   lenrF   
check_callr   SILENCEr6   rV   FULLrT   rX   r   rM   rJ   absr8   r9   rn   r!   r"   ro   r&   statst_sizer   rZ   printrW   )	promotionart
canon_hashposter_hashexpected_poster_hashr   voice_prober   r   
temp_audiofull_duration
temp_video	out_probeout_durationreceipts                  r   mainr   T   s   	GGG
9...@@AAI
*_...@@
A
AC~..V)--@U2V2VJ}}X&WWW_h_l_lmw_x_xW  AD  AH  AH  IS  AT  ATWCDDD
ww$%%338999f++K77#CDDfPeHfHf***1222v}gn= 0 0

4$
////LLL,,Kooi,,G
7||qGAJNN<88KGG7ST:>>ZgKhKhlsKsKsw~  @A  xB  xF  xF  GQ  xR  xR  VW  xW  xW8999.+wdGT"D'6;G    F]--F
.1V%1V1V'1V1V1VVahiii 566J.+wdHgWZc&kk4Z    
GGGJz4   TNNM!!"233J  "-/68<>EGJLPRUV\R]R]$ii"/557=?HJSU]_egk 	   !* ,2 49 ;A CI KP RY [` be 		 "	 $'z??	    j!!I8,Z899L
<-'((=884555	GGGJz6"""!j 	& 	+	
 	D 	z 	 	d 	W^DKK,@,@AAKKMM 	c%jj 	E

 	G 	#HW$5$5 	c$ii 	D		  	!-!" 	V#$ v;; ++--/("%l]&B"C"Cv/  G2 !!!	$*<ls  uF  mG  H  H  W\  ]  ]  ]  ^  ^  ^  ^  ^r   __main__)r   r   )r   r   r   r   )r   r*   )r   r   r   rB   )r   r   r   rJ   )r   r   r@   rB   r   r*   )#
__future__r   r   r!   r4   rX   rF   urllib.parserk   urllib.requestpathlibr   r6   r8   r9   r:   rr   rn   r   r   r   rs   r   r   r   r   r   r)   rA   rI   rM   rZ   r}   r   __name__r   r   r   <module>r      s   " " " " " "    				                  tSTT+
	(= Y	,	&)E	E,.8O55	w**
.1
1g~((	7	"[	0
,,
,[ [ [ [   = = = =   4 4 4 4      "I^ I^ I^ I^X zDFFFFF r   