I want to add simple textual animations to videos, just like this one from Business Insider : https://www.facebook.com/228803477461289/videos/231065770568393/

What software do I need in order to realize this ?

I know that After Effects is capable of such things, but I'm looking for (more specialized) software with much less learning curve.

  • all of those could be achieved directly in your NLE or using simple templates for your NLE, if your using FCPX then Motion would be a good option otherwise AE is going to be the best bet – Adam Mann Pro Feb 17 '16 at 13:24
  • I'd use Premiere before I used AE, or FCPX. Take your pick. – Jason Conrad Feb 17 '16 at 19:59

You can achieve that with ffmpeg. Draw text with drawtext command. And draw semitransperent beckground under it with drawbox. You can see more in that question.

You can add animation of moving text from side of video with Expression Evaluation.


Looking at the video, I'd say it's highly likely it was made with Adobe Premiere, Final Cut, or Adobe After Effects. You could achieve the same thing in FFMPEG, but I doubt that's how they actually made it.

  • 1
    Upvoted, on this website it seems that ffmpeg is the solution to everything. It's true it can do almost anything, but when the OP asks for something easier than After Effects, ffmpeg is not really an answer – mcont Oct 3 '18 at 9:36

This code works well now. It has several text animations with FFMpeg.

ffmpeg -i input.mp4 -vf "[in]drawtext=fontfile=/path/to/font.ttf: text='First Line': fontcolor=red: fontsize=40: x=(w-text_w)/2: y=if(lt(t\,3)\,(-h+((3*h-200)*t/6))\,(h-200)/2):enable='between(t,2.9,50)',drawtext=fontfile=/path/to/font.ttf: text='Second Line': fontcolor=yellow: fontsize=30: x=if(lt(t\,4)\,(-w+((3*w-tw)*t/8))\,(w-tw)/2): y=(h-100)/2:enable='between(t,3.5,50)',drawtext=fontfile=/path/to/font.ttf: text='Third Line': fontcolor=blue: fontsize=50: x=if(lt(t\,5)\,(2*w-((3*w+tw)*t/10))\,(w-tw)/2): y=h/2:enable='between(t,4.5,50)',drawtext=fontfile=/path/to/font.ttf: text='Fourth Line': fontcolor=black: fontsize=20: x=(w-text_w)/2: y=if(lt(t\,6)\,(2*h-((3*h-100)*t/12))\,(h+100)/2):enable='between(t,5.5,50)'[out]" out.mp4

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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