Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

provide time period in ffmpeg drawtext filter

I am trying to add text to video using ffmpeg and wants text to appear for a given period of time. I am trying to use DrawText filter but don't know how to provide time period for this filter. Can Anybody please help me.

Thanks

like image 706
ZafarYousafi Avatar asked Jan 25 '14 18:01

ZafarYousafi


1 Answers

The drawtext video filter has timeline editing support (see the output of ffmpeg -filters). This can evaluate an expression and allows you to provide the time(s) of when the filter should be enabled.

This example will enable the filter from 12 seconds to 3 minutes:

ffmpeg -i input.mp4 -vf "drawtext=enable='between(t,12,3*60)':fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'" -acodec copy output.mp4

The audio was stream copied in this example.

If you do not have timeline editing support then you will need to get a newer version. You can simply download a Linux build of ffmpeg or follow a step-by-step guide to compile ffmpeg.

Also see the FFmpeg and x264 Encoding Guide.

like image 53
llogan Avatar answered Oct 10 '22 23:10

llogan