def generate_all(fastflix: FastFlix, encoder: str, audio: bool = True, subs: bool = True, disable_filters: bool = False) -> Tuple[str, str]: settings = fastflix.current_video.video_settings.video_encoder_settings audio = build_audio( fastflix.current_video.video_settings.audio_tracks) if audio else "" subtitles, burn_in_track, burn_in_type = "", None, None if subs: subtitles, burn_in_track, burn_in_type = build_subtitle( fastflix.current_video.video_settings.subtitle_tracks) if burn_in_type == "text": for i, x in enumerate(fastflix.current_video.streams["subtitle"]): if x["index"] == burn_in_track: burn_in_track = i break attachments = build_attachments( fastflix.current_video.video_settings.attachment_tracks) filters = None if not disable_filters: filters = generate_filters( source=fastflix.current_video.source, burn_in_subtitle_track=burn_in_track, burn_in_subtitle_type=burn_in_type, enable_opencl=fastflix.opencl_support, **fastflix.current_video.video_settings.dict(), ) ending = generate_ending( audio=audio, subtitles=subtitles, cover=attachments, output_video=fastflix.current_video.video_settings.output_path, **fastflix.current_video.video_settings.dict(), ) beginning = generate_ffmpeg_start( source=fastflix.current_video.source, ffmpeg=fastflix.config.ffmpeg, encoder=encoder, filters=filters, concat=fastflix.current_video.concat, enable_opencl=fastflix.opencl_support, **fastflix.current_video.video_settings.dict(), **settings.dict(), ) return beginning, ending
def generate_all( fastflix: FastFlix, encoder: str, audio: bool = True, subs: bool = True, disable_filters: bool = False ) -> Tuple[str, str]: settings = fastflix.current_video.video_settings.video_encoder_settings audio = build_audio(fastflix.current_video.video_settings.audio_tracks) if audio else "" subtitles, burn_in_track = "", None if subs: subtitles, burn_in_track = build_subtitle(fastflix.current_video.video_settings.subtitle_tracks) attachments = build_attachments(fastflix.current_video.video_settings.attachment_tracks) filters = None if not disable_filters: filters = generate_filters( burn_in_subtitle_track=burn_in_track, **asdict(fastflix.current_video.video_settings) ) ending = generate_ending( audio=audio, subtitles=subtitles, cover=attachments, output_video=fastflix.current_video.video_settings.output_path, extra=fastflix.current_video.video_settings.video_encoder_settings.extra, **asdict(fastflix.current_video.video_settings), ) beginning = generate_ffmpeg_start( source=fastflix.current_video.source, ffmpeg=fastflix.config.ffmpeg, encoder=encoder, filters=filters, **asdict(fastflix.current_video.video_settings), **asdict(settings), ) return beginning, ending