![enter image description here](https://i.stack.imgur.com/baNq1.gif)
Одним из методов является использование субтитров ASS с тегом анимированное преобразование (\t
):
{\an5\fscx0\fscy0\t(0,500,\fscx100\fscy100)}Text zoom
\an5
Центральный текст \fscx0
Установить масштаб шрифта x на 0%. \fscy0
Установить масштаб шрифта y на 0%. t(0,500,\fscx100\fscy100)
За 500 миллисекунд установите \fscx
и \fscy
на 100%.
Это легко сделать в Aegisub.
Затем выполните команду ffmpeg
с помощью фильтр субтитров .
ffmpeg -i input -filter_complex "subtitles=zoom.ass" output
Пример файла ASS, в котором текст будет увеличиваться, а затем уменьшаться.
[Script Info]
; Script generated by Aegisub 3.2.2
; http://www.aegisub.org/
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: None
[Aegisub Project Garbage]
Active Line: 1
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:03.00,Default,,0,0,0,,{\fscx0\fscy0\t(0,500,\fscx100\fscy100)}zoom text
Dialogue: 0,0:00:03.00,0:00:04.00,Default,,0,0,0,,{\fscx100\fscy100\t(0,500,\fscx0\fscy0)}zoom text