We frequently explain things with video. Sometimes captions help. Digital video captions are an "evolving standard", which is tech-speak for "dumber than anyone wants." However, Wistia, the company we use (and love) for business video hosting, supports captions. Yay.
The de facto standard for digital video captions - at this early stage - is the "SRT" or "Subrip" format. It's a simple text file - line number, timecode, caption, blank. Amazingly low-tech. It looks like this:
00:03:10,500 --> 00:00:13,000 Look, Jane, over there 2 00:00:15,000 --> 00:00:18,000 Why, it's the giant aardvark!
The process of captioning goes something like this:
Open Wistia. Upload SRT file. Hit Play. Notice timing error. Hit Stop. Say rude things. Open Caption file. Edit timecode. Mistype timecode. Save file. Hit Play. Notice timing error. Do Loop.
It's just tedious, and we couldn't find a software tool to suit our pragmatic approach. So we made one in Excel, and you can have it. Free under a Creative Commons license.
It's pretty simple to use. Paste in your script. Enter word count, character count, and length (seconds). It'll guesstimate timing, based on the length of each line. And it will lay out an SRT file that you can just copy & paste - into a text editor, or right into Wistia's interface in our case. Correcting timing is easier, and subsequent lines adjust themselves while maintaining timing.
You can override the calculated timing ("char/sec") to adjust the timing for a script as a whole, then tweak individual line start-times. (Eyeball the end time for the LAST line - futz with the char/sec measure until it matches.)
Hope you find it helpful! Send suggestions my way (matthew at say it visually dot com) - i'll update as time and priority permit.
PS Added a tab to swap lines from an existing caption file, while preserving timing and numbers.