Make intro title fade optional
This commit is contained in:
parent
af3fd51226
commit
f51273d447
2 changed files with 34 additions and 15 deletions
44
movmaker.py
44
movmaker.py
|
|
@ -36,13 +36,14 @@ FFMPEG = BASE_DIR / "ffmpeg" / "ffmpeg"
|
|||
FFPROBE = BASE_DIR / "ffmpeg" / "ffprobe"
|
||||
INTRO_LOGO_NAME = "intro.png"
|
||||
DEFAULT_INTRO_LOGO = BASE_DIR / "img" / "moto_travel.png"
|
||||
INTRO_LOGO_TARGET_HEIGHT_RATIO = 0.90
|
||||
INTRO_LOGO_TARGET_HEIGHT_RATIO = 0.75
|
||||
INTRO_LOGO_EXTRA_HOLD = 6.0
|
||||
INTRO_LOGO_FADE_OFFSET = 3.0
|
||||
INTRO_LOGO_DEFAULT_ALPHA = 1.0
|
||||
INTRO_TITLE_FADE_DELAY = 2.0
|
||||
INTRO_TITLE_START_OFFSET = 4.0
|
||||
INTRO_TITLE_FADE_LENGTH = 1.0
|
||||
INTRO_TITLE_VISIBLE = 6.0
|
||||
INTRO_TITLE_FADE_ENABLED = True
|
||||
DEFAULT_IMAGE_DURATION = 6.0
|
||||
DEFAULT_CROSSFADE_DURATION = 3.0
|
||||
FIRST_IMAGE_DURATION_MULTIPLIER = 2.0
|
||||
|
|
@ -1001,17 +1002,34 @@ def build_video(
|
|||
subtitle_font_size = max(40, height // 18)
|
||||
main_title = data.title or title_lines[0]
|
||||
subtitle = " | ".join(x for x in [data.date, data.place] if x)
|
||||
fade_in_start = INTRO_TITLE_FADE_DELAY
|
||||
fade_in_end = fade_in_start + INTRO_TITLE_FADE_LENGTH
|
||||
visible_end = fade_in_end + INTRO_TITLE_VISIBLE
|
||||
fade_out_end = visible_end + INTRO_TITLE_FADE_LENGTH
|
||||
title_alpha = (
|
||||
f"if(lt(t\\,{fade_in_start:.3f})\\,0\\,"
|
||||
f"if(lt(t\\,{fade_in_end:.3f})\\,(t-{fade_in_start:.3f})/{INTRO_TITLE_FADE_LENGTH:.3f}\\,"
|
||||
f"if(lt(t\\,{visible_end:.3f})\\,1\\,"
|
||||
f"if(lt(t\\,{fade_out_end:.3f})\\,({fade_out_end:.3f}-t)/{INTRO_TITLE_FADE_LENGTH:.3f}\\,0))))"
|
||||
)
|
||||
title_enable = f"enable='between(t,{fade_in_start:.3f},{fade_out_end:.3f})'"
|
||||
fade_in_start = INTRO_TITLE_START_OFFSET
|
||||
fade_in_enabled = INTRO_TITLE_FADE_IN_ENABLED and INTRO_TITLE_FADE_LENGTH > 0
|
||||
fade_out_enabled = INTRO_TITLE_FADE_LENGTH > 0
|
||||
fade_in_end = fade_in_start + (INTRO_TITLE_FADE_LENGTH if fade_in_enabled else 0.0)
|
||||
visible_start = fade_in_end if fade_in_enabled else fade_in_start
|
||||
visible_end = visible_start + INTRO_TITLE_VISIBLE
|
||||
fade_out_end = visible_end + (INTRO_TITLE_FADE_LENGTH if fade_out_enabled else 0.0)
|
||||
if fade_in_enabled:
|
||||
title_alpha = (
|
||||
f"if(lt(t\\,{fade_in_start:.3f})\\,0\\,"
|
||||
f"if(lt(t\\,{fade_in_end:.3f})\\,(t-{fade_in_start:.3f})/{INTRO_TITLE_FADE_LENGTH:.3f}\\,"
|
||||
f"if(lt(t\\,{visible_end:.3f})\\,1\\,"
|
||||
f"if(lt(t\\,{fade_out_end:.3f})\\,({fade_out_end:.3f}-t)/{INTRO_TITLE_FADE_LENGTH:.3f}\\,0))))"
|
||||
)
|
||||
else:
|
||||
if fade_out_enabled:
|
||||
title_alpha = (
|
||||
f"if(lt(t\\,{fade_in_start:.3f})\\,0\\,"
|
||||
f"if(lt(t\\,{visible_end:.3f})\\,1\\,"
|
||||
f"if(lt(t\\,{fade_out_end:.3f})\\,({fade_out_end:.3f}-t)/{INTRO_TITLE_FADE_LENGTH:.3f}\\,0)))"
|
||||
)
|
||||
else:
|
||||
title_alpha = (
|
||||
f"if(lt(t\\,{fade_in_start:.3f})\\,0\\,"
|
||||
f"if(lt(t\\,{visible_end:.3f})\\,1\\,0))"
|
||||
)
|
||||
title_enable_end = fade_out_end if fade_out_enabled else visible_end
|
||||
title_enable = f"enable='between(t,{fade_in_start:.3f},{title_enable_end:.3f})'"
|
||||
if subtitle:
|
||||
title_y = f"(h-text_h)/2-{title_font_size // 2}"
|
||||
filters.append(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue