D M*_*wer 6 video ffmpeg drawtext
嗨,我有一个 20 秒长的视频,我想从 00:00:10 秒到 00:00:15 秒向该视频添加一些文本,其中仅显示“夏季视频”并使用 FFMPEG 淡入淡出。
我知道我必须使用 drawtext 过滤器,但有人有任何例子吗?
谢谢你。
有两种方法可以做到这一点:
使用该enable选项。因为您想要淡入淡出,所以您需要添加淡入淡出和叠加过滤器。
ffmpeg -i input -filter_complex "drawtext=text='Summer Video':enable='between(t,15,20)',fade=t=in:start_time=15:d=0.5:alpha=1,fade=t=out:start_time=19.5:d=0.5:alpha=1[fg];[0][fg]overlay=format=auto,format=yuv420p" -c:a copy output.mp4
Run Code Online (Sandbox Code Playgroud)
或者,使用所需的时间和淡入淡出制作字幕,并改用字幕过滤器:
ffmpeg -i input -vf subtitles=fade.ass -c:a copy output
Run Code Online (Sandbox Code Playgroud)
该示例fade.ass是在 Aegisub 中创建的。该\fad标签用于设置以毫秒为单位的淡入/淡出持续时间:淡入和淡出{\fad(500,500)}Summer Video均为 0.5 秒。
fade.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]
[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:15.00,0:00:20.00,Default,,0,0,0,,{\fad(500,500)}Summer Video
Run Code Online (Sandbox Code Playgroud)
我建议使用字幕过滤器,因为与 drawtext 相比,字幕更易于使用并且具有更多样式选项和效果。
| 归档时间: |
|
| 查看次数: |
7226 次 |
| 最近记录: |