8

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

0

1 Answer 1

25

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.

3
  • thanx LordNeckbear, I figured it out and was using gte(t,12)*lte(t,30). But thanx for introducing new function between. Commented Jan 26, 2014 at 19:27
  • if i am executing commaing getting enable not found error .please give me link for new ffmpeg.so file
    – Sanket990
    Commented Feb 10, 2014 at 12:24
  • @Sanket990 You have to show your ffmpeg command and the complete console output.
    – llogan
    Commented Feb 10, 2014 at 18:00

Not the answer you're looking for? Browse other questions tagged or ask your own question.