Writing Closed Captioning for Videos

If there’s something that I’ve found out I don’t really like doing, is write closed captions for my courses. It entails transcribing each video and then changing the text to .SRT format.

Here’s how it would go normally:

  1. Transcribe the video manually by listening to it, optionally at a lower speed if typing speed isn’t up to scratch (which mine isn’t);
  2. Open up ScreenFlow and the caption track, and then paste the sentences into each of the caption track elements;
  3. Change the length of the phrases to match the talking speed.

Optimise for time

If the course is it a stage where you are wanting to include closed captions in it, it probably is making some money. If not, you’ve got other things to worry about (like, making it profitable).

If it’s making money, then we can make the closed-captioning process substantially quicker by doing some or all of the following:

Use a transcriber

You can use something like Dragon Dictate (on Mac), or a Windows alternative, to help you transcribe the videos. It won’t be perfect, but it may shave off a few minutes per video. You’ll still have to go back and change many things.

Alternatively, if the course is making enough money, it may be worth hiring a transcriber from somewhere like Fiverr. If you find a decent one, you’ll get good transcriptions in a few days, for a cost as low as $5 per 10 minutes of video.

Convert to .SRT easily

Again, once you have the transcription you can hire someone to convert that to closed captions for each of your videos from Fiverr. This will set you back for, again, around $5 per 10 minutes of video.

Optionally, and the method I’ve been going for, is somewhat more time-consuming, but substantially less so than doing it manually in your video editor of choice.

The method is simple because the only work you have to do is split the transcription into 3-second chunks, and then use a small program to convert the text into a .SRT file.

So make your text look like this, with each line being around 3 seconds long in your video:

Hello, and welcome back to the course! In this

video we're going to be looking at

how to create our next program. It's going to be

a program to explore how to make web requests using Python

Then, run a short program that will make it look like this:

00:00:00,000 --> 00:00:03,000
Hello, and welcome back to the course! In this

00:00:03,000 --> 00:00:06,000
video we're going to be looking at

00:00:06,000 --> 00:00:09,000
how to create our next program. It's going to be

00:00:09,000 --> 00:00:12,000
a program to explore how to make web requests using Python

Then you can import that into ScreenFlow or whatever program you are using to record or edit your videos.

The program can be accessed here.

To use the program, you’ll need to execute it from the terminal (Terminal.app in Mac, or Console in Windows). You'll need to have Python installed, which is very simple.

Then, you can run it like so:

$ python srt_typing.py .
Enter file to read: <your_file_name>
Enter the file to save as: <output_file_name>

That’s it!

Normally, I will hire a transcriber, and then quickly change the phrases to three-second lengths, and use the program to change the text content to subtitles.

That means that instead of a few hours to write subtitles for a few videos, I spend more or less exactly the duration of the video, since I do have to watch it once while adjusting the words-per-three-seconds.