
    j                        d Z ddlmZ ddlmZ ddlmZ ddlZddlm	Z	m
Z
  ed           G d	 d
                      ZddZdS )z3FFmpeg rendering boundary for local preview videos.    )annotations)	dataclass)PathN)FFmpegConcatPlanvalidate_ffmpeg_concat_planT)frozenc                  h    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   d	Zd
ed<   dZd
ed<   dS )FFmpegRenderResultstr	script_idoutput_pathconcat_file_pathint
returncodestdoutstderrwrite_concatcall_ffmpeg	write_mp4ztuple[str, ...]side_effectsffmpegexternal_callsN)__name__
__module____qualname____annotations__r   r        ^/home/agent/jarvis_runtime/autoshortsbot/AutoShortsBot/autoshorts/rendering/ffmpeg_renderer.pyr
   r
      sp         NNNOOOKKKKKK$PLPPPP&1N111111r    r
   planr   returnc                   t          |           }|j        s't          d                    |j                            t          | j                  }t          | j                  }|j        	                    dd           |j        	                    dd           |
                    | j                   dddddd	d
t          |          dd| j         dddt          |          g}t          j        |ddd          }|j        dk    rt#          |j        pd          t'          | j        t          |          t          |          |j        |j        |j        dd          S )zFWrite the concat file and invoke FFmpeg to create a local MP4 preview.z; T)parentsexist_okr   z-yz-fconcatz-safe0z-iz-vfzfps=z,format=yuv420pz	-movflagsz
+faststartF)capture_outputtextcheckr   zffmpeg failedr   r   )r   r   r   r   r   r   r   r   )r   is_valid
ValueErrorjoinerrorsr   r   r   parentmkdir
write_textconcat_file_contentr   fps
subprocessrunr   RuntimeErrorr   r
   r   r   )r"   
validationconcat_pathr   command	completeds         r!   render_ffmpeg_preview_videor<      s}    -T22J 7:#455666t,--Kt'((KTD999TD99943444 	K(tx(((KG wt$eTTTIq  9+>???.$$[))'A"	 	 	 	r    )r"   r   r#   r
   )__doc__
__future__r   dataclassesr   pathlibr   r5    autoshorts.rendering.ffmpeg_planr   r   r
   r<   r   r    r!   <module>rB      s    9 9 " " " " " " ! ! ! ! ! !           Z Z Z Z Z Z Z Z $2 2 2 2 2 2 2 2) ) ) ) ) )r    