U
    g>                     @   sH   d dl mZmZ d dlZd dlmZ d dlZdZeeeedddZ	dS )    )runCalledProcessErrorN)
UploadFilez%/SRT/ffmpeg-5.1.1-amd64-static/ffmpeg)countrychannelfilereturnc              I      sr  t jdd}t jdd}t j|dd t j|dd t j||j}t|d}t|j| W 5 Q R X |j	ddd	 }d
|  d| d| d}t j||}	t
d|g}
| dkr|dkrRt
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&d'd(d)d*d+d,d-d.d/d.d0d.d1d2d3d4d5d6d7d8d9d:d;d<d=d>d=d?d@dAd@dBd@dCd@dDdEdFgE}
nT|dGkrt
d|ddHddIdJdKdLdMdd dNdOd!dPdQdRd)d*dSd.d1d2d3d4d5d6d7d8d;dTdEdFg#}
nN| dUkrV|dkrt
d|ddd|ddddddddVddVddVddWddXdd d!dPd#dYd%dZd'd[d)d*d+d,d-d\d/d\d0d\d]d^dQdRd1d2d3d_d5d6d7d8d9d`d;dad=dbd=dcd@ddd@ded@dfd@dDdEdFgI}
n| dgkr|dkrt
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&d'd(d)d*d+d,d-d.d/d.d0d.d1d2d3d4d5d6d7d8d9d:d;d<d=d>d=d?d@dAd@dBd@dCd@dDdEdFgE}
|
|	 zt|
ddh t | W nJ tk
rf } z*t j|rHt | tdi| W 5 d }~X Y nX dj| S )kNz/var/www/html/Web_TranscoderZuploadsprocessed_videosT)exist_okwb.   r   Z
processed__z.tsz-iZFranceZ2Mz
-itsoffsetz0.01z-mapz0:v:0z1:a:0z-c:vZlibx264z-b:vZ3000kz
-minrate:vz
-maxrate:vz
-bufsize:vZ1500kz-vfzscale=720:576,setsar=16/11z-rZ25z-aspectz20:11z
-profile:vmainz-level:vz3.0z	-x264optsz;no-scenecut:nal-hrd=cbr:force-cfr=1:keyint=25:min-keyint=25z-flagsz+ilme+ildctz-field_orderttz-colorspace1z-color_primariesz
-color_trcz-c:aZmp2z-b:aZ128kz-arZ48000z-ac2z-presetZslowz-muxrateZ3362kz	-streamidz0:0x101z1:0x102z-metadata:s:v:0zservice_id=0x100zservice_provider=Digital TVzservice_name=Digital TVzservice_type=digital televisionz-fZmpegtszEl HiwarZ
mpeg2videoZ3679kz-maxrateZ3846kz-bufsizeZ7342kz-sZ720x576z16:9z-pix_fmtZyuv420pz-topZ4007kZBelgiumZ4615kZ9230kzscale=1920:1080,setsar=1:1highz4.0zQno-scenecut:nal-hrd=cbr:force-cfr=1:keyint=24:min-keyint=24:ref=4:rc-lookahead=24Zbt709z-color_rangeZtvZ192kZmediumZ5059kz0:0x100z1:0x101zservice_id=0x1000z"service_provider=Adtlas Digital TVzservice_name=Adtlas TranscodingZNetherlands)checkzError processing video: z/processed/)ospathjoinmakedirsfilenameopenshutilcopyfileobjr   rsplitFFMPEG_PATHappendr   remover   existsRuntimeError)r   r   r   Z
upload_dirZprocessed_dirZtemp_file_pathbufferbase_filenameZoutput_filenameoutput_file_pathZffmpeg_commande r'   =/var/www/html/Web_Transcoder/src/./services/ffmpeg_service.pyprocess_video	   s0    

                                  %
                 

                                    '

                                  &

 r)   )

subprocessr   r   r   fastapir   r   r   strr)   r'   r'   r'   r(   <module>   s
   