Friday, November 18, 2011

How to Create Soft Subtitles in QuickTime

A little-known way of displaying captions on QuickTime movies is soft subtitles. These are surprisingly easy to create and can be toggled on and off in the QuickTime Player under the View > Subtitles menu option. You will need to use MovieCaptioner and a freeware app called Subler.

To get the captions, you will need to create a .SRT caption file which looks like this:

sample SRT file

It's simply a text file that contains the captions with start and end times. This can be created by hand, but it's much easier to create it with MovieCaptioner. Once you get all your captions done in MovieCaptioner, it's a simple matter of exporting as SubRip SRT. The YouTube Captions export can also be used to create the SRT file.  

UPDATE: It has come to my attention that if you have any blank captions in your project (to make the previous caption expire), you will need to add a space to the blank caption or Subler will put the timecode there instead. You can either do this in MovieCaptioner or add it to the SRT file using a text editor.

exporting the SRT file from MovieCaptioner

Once you have your SRT file saved, open Subler, and under the File menu, select New. Now just drag your movie into the Subler interface and select Add when prompted.

adding the movie to Subler

Then you'll add your SRT file the same way, by dragging it to the Subler interface and clicking Add.

adding the SRT caption file  to Subler

Then just go to the File menu and select Save, and it will save it as an MPEG-4 ".m4v" file.

saving the movie with captions

Open this in QuickTime Player and it will look like this:

soft subtitles displayed in the QuickTime Player

A downside to soft subtitles is that they don't seem to work in the browsers. You can get around this by creating a poster movie that links to your movie, launching the QuickTime Player as a standalone app. First, download this Javascript code and save it to the same folder as your HTML page.

In the head tags of your HTML, put this code in:

<script src="AC_QuickTime.js" language="javascript"> </script>


Then in the body add this code to call your poster movie and make it link to your movie that will be launched in the QuickTime Player.

<script language="javascript">
QT_WriteOBJECT(
'poster.mov',
'320',
'240',
'',
'CONTROLLER',
'False',
'HREF',
'lunchroom_manners.m4v',
'TARGET',
'QuickTimePlayer'
);
</script>


To create a poster movie, all you need to do is to open your movie in the QuickTime Player, take a screenshot of it, then open that screenshot in the QuickTime Player again and save it as a movie (even though it's a picture) with a ".mov" extension. Pretty simple, no?

So give soft subtitles a try. Perhaps it can fit in with your movie delivery system.


Please try MovieCaptioner to make your movies accessible. You can download a free, fully-funcational 14 day demo.