How can I easily create captions that look like this?

enter image description here (Click to see a video that shows a good example.)

I have a video that is 1280 x 720 pixels but converted to a square of 1280 x 1280 pixels so that there is empty space above and below.

Using Adobe Premiere Pro CC 2017, I've then added a "Default Still" Title to the top.

Given an .srt or other file of captions, how could I import them to be shown in the bottom band of the video at the appropriate time?

I want them "burned in" so that they are always visible regardless of the device used to play the video.

(So maybe they're called "open captions" instead of "closed captions".)

I want to be able to choose the font style and size.

I want to avoid creating a "Default Still Title" for each sentence of text manually—that would be a lot of hassle for a long video.

I have Adobe Premiere Pro CC 2017 but could buy other software if necessary or could use ffmpeg if that is capable.

  • Can be easily done with ffmpeg. But Premiere, IIRC, can do it too. – Gyan Apr 19 '17 at 16:45

You can use ffmpeg. Make your subtitles with Aegisub or manually with a text editor. ASS subtitles are fancier, but SRT are simpler if you want to manually make them.

Alignment & Margin

The default settings will likely work, but you can control the general location, or alignment, using the "keypad" coordinates. For example, 2 is bottom center. For more granular control you use the vertical margin. In Aegisub these options are available in Subtitles > Style Manager > Edit.

enter image description here

You can also choose the font and font size in this screen.

ffmpeg examples

Now run ffmpeg with the subtitles filter to make your hardsubs:

ffmpeg -i input -filter_complex "subtitles=subs.ass" output

Or if you want to avoid using Aegisub you can use the force_style option:

ffmpeg -i input -filter_complex "subtitles=subs.ass:force_style='Fontname=Arial,Fontsize=20,Alignment=2,MarginV=10'" output

Resulting in:

enter image description here

If you do want to use ffmpeg make sure to output from Premiere using a lossless format, such as UT video, because ffmpeg will re-encode it which is required when filtering.

  • Very cool. Thanks! And I'd never heard of en.wikipedia.org/wiki/Ut_Video_Codec_Suite Interesting. Thanks. – Ryan Apr 19 '17 at 17:31
  • 1
    @Ryan It's a decent format and works well as an intermediate file. It's main advantage on Windows is the ease of installation and easy integration into Premiere. – llogan Apr 19 '17 at 19:39

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.