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.

Monday, September 26, 2011

Repositioning Closed Captions

By default, MovieCaptioner puts your captions at the bottom of your movie. If using QT Text captions, your choice is either below the movie, where it doesn't interfere with the movie at all, or you can have them overlaid over the lower portion of the movie either with a black background or with a 50% translucent background. What do you do, however, if you have a movie that has some content at the bottom, such as a lower third (speaker's name and title for instance) or some other content that you don't want covered? Again, you have 2 choices. One would be to use Sonic Scenarist (SCC) captions. These are the same type you see on TV and are supported by Apple's iTunes. The other choice would be to stick with QT Text captions, but do a little manual manipulation. Let's look at each.

Sonic Scenarist (SCC) Captions

Using both SCC caption and QT Text captions, you will need QuickTime 7 Pro ($30 upgrade to QuickTime 7 Player from Apple). With the SCC captions, you can place the captions on one of 15 rows. Again, by default, MovieCaptioner puts these captions at the bottom of the movie in Row 15. If a caption is longer than one row, it will automatically bump the caption up a row for as many as it needs to fit the caption in. SCC captions can be up to 4 lines each and no more than 32 characters per line. So, if you have a caption that is 3 rows long, it will automatically bump the starting line up to Row 13. To set a caption to Row 1, for example, all you need to do is to change the SCC Row pulldown menu to the row you want them to start, then click the Change button next to it. You may start any caption on any row, unlike QTText captions which have to be the same throughout the movie.

changing the SCC row in the MovieCaptioner text properties area

Here is what the SCC caption will look like on Row 1 (and it wraps to Row 2 as well)...

example of SCC caption at the top of a movie

A little gotcha to remember when exporting as Sonic Scenarist (Embedded SCC) captions from MovieCaptioner is that once the captions are added to the movie, you must remember to Save the QuickTime movie before closing the QuickTime Player window. For some reason, QuickTime will not warn you to save your movie with the SCC captions and they will be lost if you just close the QT Player window. You'll have to re-export from MovieCaptioner to get them back in. SCC captions also require the ClosedCaptionImporter.component plugin (free from Apple).

QuickTime Text Captions

QT Text captions have been a capability of QuickTime for a long time. They also require you to have QuickTime 7 Pro to add the captions to your movie. No special plugin is needed, however. The process of creating and adding QT Text captions to a movie can be very tedious if you do it manually, but luckily, MovieCaptioner makes this a snap. Just by choosing Embedded QuickTime from the Export menu in MovieCaptioner your project will create the QuickTime Text file and add it to your movie right before your eyes. An additional export option is Embedded QuickTime (Unicode), which writes an XML file instead of a QT Text file and embeds that into the movie. The advantage of the XML format gives you more support for special characters with accents, especially Asian characters. The down side is that they do not wrap naturally, so you'll need to add line breaks (type the bone "|" character) where you want the lines to break.

Here is what Embedded QuickTime captions would look like below the movie...

example of embedded QT Text captions below a movie

To move these captions to the top of the movie, you will need to go to the Movie Properties window in QuickTime Pro after adding your captions. Click the Text Track to select it, then click the Visual Settings tab in the middle of that window. Change the vertical offset to 0 and the captions will jump to the top...

adjusting the text track's vertical offset to move captions to the top of a movie in QT Pro

captions move to the top after adjusting the vertical offset in QT Pro

Now, if you want the captions to truly be above the movie (not overlapping it as in the screenshot above), you will need to apply this last step to the movie's Video track as well. If you'll notice in the Movie Properties window above, the text track in this case is 40 pixels tall. This is how much we need to offset the movie's Video Track. So, select the Video Track, then in the Visual Setting tab we are again going to change the vertical offset. In this case it will be 40 to line up with the bottom of the Text Track.

adjusting the Video track's vertical offset so it can be seen entirely below the captions

Movie is now entirely below the captions. Notice how you can see more of the roof above the window gable as compared to the screenshot above...
captions are now above the movie and not overlapping it.

You can also do this with the Translucent Background setting checked in the Text Properties area of MovieCaptioner. Instead of an opaque colored background, you'll get a 50% black background that overlaps the movie. This keeps the movie's aspect ratio the same and at the same time you can see the movie behind the text. The difference in using the translucent background would be that you have two Text Tracks to offset (set both to 0) instead of one as above. The translucent background is actually just a text track with no text and the background set to 50% transparent. The white text is overlaid on the translucent background so the text stays solid and is more readable than if it were transparent also. You would not move the Video Track in this case. Just leave the translucent background and text overlay the movie.

you can also use this technique with the translucent background option in MovieCaptioner.

Notice how you can see the shingles of the house through the caption's background and the text is still very readable.

I hope this helps you understand a little about repositioning closed captions. It's not too hard and it will go a long way in some cases to keep your movies accessible while retaining the content below them.

Please try MovieCaptioner to make your movies accessible. You can download a free 14 day demo. Also, there is now a Windows version as well.

Wednesday, June 29, 2011

Starting a Video Captioning Business on the Cheap

Do you like to watch movies? Can you type fairly quickly? Congratulations, you are now qualified as a video transcriptionist. And just in time, too, as there will be a gold rush soon for video transcription services.

In October 2010, President Obama signed into law the 21st Century Communications and Video Accessibility Act, which mandates further captioning of video for the Web. The bill will apply to any video that was originally aired on TV. As more and more videos are uploaded to the web, the demand for video captioning services will grow at an exponential rate. Government agencies, schools, museums, and many other types of businesses will need the services of a good video transcriptionist. Your biggest problem may be keeping up with the demand.

For about $150, you can start your own business from the comfort of your living room. Software would cost you less than $130, which would get you a copy of MovieCaptioner and an upgrade to QuickTime Pro. Now all you need is a web page (free from Blogger.com), a domain name ($19.95 per year), and a file upload service such as DropBox.com, where you and your customers can transfer large files over the Internet. Optional items could include headphones and a copy of Dragon Dictate if you really don't like typing that much (as I don't). With Dragon Dictate, you simply repeat what you hear in the headphones into the microphone, and it gets typed into the MovieCaptioner interface automatically! A set of headphones with a built-in microphone would be helpful in doing it this way.

So you have MovieCaptioner and QuickTime Pro, and you've picked out a domain name and have gotten a website put together so you can hang a shingle out for the world to see. A customer inquires about your rates (which you've done your research to see what other companies with similar services are charging). You send them your email address and let them know they can use that to send you their video files via DropBox.com, which gives you up to 2 GB of space for free (you can upgrade to more space for a fee). You share a DropBox with your customer and the files are instantly available to both of you. You import the video into MovieCaptioner, click the Start button, and go to town. After you get your captions done, you export to the format your customer requires, and either email the captioned text file back to them or embed the captions in the movie and throw it back in your DropBox and let them know it's done. An interim step could be to export a transcript with timecode and let them proofread it if they want. That way they can check the spellings of names, technical terms, and so forth. Payment can be done easily via PayPal, Kagi, or another credit card transaction service. You can typically make anywhere from $75 to $150 for a one hour video.

Please be aware that depending on your typing skills and the quality of the audio, a one hour video could take anywhere from 5 to 8 hours to transcribe. This type of work is not for everybody, but some really enjoy it. It is, at least, an easy way to make several hundred dollars or more in a week's time, with a very modest investment to get started. This is a business that a stay-at-home mom or dad can run or even a college student to do over the summer to pay for books and tuition. The potential is there to expand and make a much larger enterprise too if you wanted. Teaming up with others you trust to do good work (see oDesk.com and eLance.com) where you pay them part of the profits to handle your overflow will allow you to handle much more volume.

I hope this may spark some interest and that more people will join in the pursuit of making the world's video accessible to all.

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

Monday, June 20, 2011

Troubleshooting SCC (Line 21) Caption Files

From time to time you may get an error in your SCC caption files. Here is a (hopefully) helpful strategy for zeroing in on the cause of the problem. Knowing that it is a bad file in the first place is simple. I try to open it in QuickTime Pro. To be able to do this, however, you need to download a free plugin from Apple for importing SCC files into QuickTime. It is called "ClosedCaptionImporter.component". It can be downloaded (currently) from this link: http://developer.apple.com/library/mac/#samplecode/ClosedCaptionImporter/Introduction/Intro.html.

Once you download it, just drop the plugin into your QuickTime folder in your hard drive's Library folder...

Put the closed caption importer plugin into your hard drive's QuickTime folder in the Library

If you have QuickTime 7 open, you'll need to close it to make the plugin available when you re-open it. Note that as of this writing, QuickTime 7 is necessary for all the features of QuickTime Pro to work. QuickTime X, the default QT Player that comes standard with Snow Leopard does not have all the functionality of QuickTime 7. You can install QuickTime 7 from your Snow Leopard install disk, then upgrade it to QuickTime Pro via the Apple website. It only costs $30 and it well worth it for the increased ability to work with QuickTime movie files.

So, as long as you have the plugin installed you should be able to see captions in an SCC file that you open in QuickTime Pro. It should look like this...

A working SCC file in QuickTime Player

It should have a white background and if you scrub through the movie, you should see captions. A file that has errors will open like this...

A non-working SCC file in QuickTime Player

It will have a black background, it will display smaller than a working file, "Scenarist_SCC V1.0" will show at first, and the binary code will display instead of the transcribed captions if you scrub through it. If you see that, then you know you have troubles in River City. Sometimes, though, an SCC file can have a garbage character in it that may allow it to play in QuickTime properly, but will cause an error in other applications.

To troubleshoot this, I'll open the SCC file in BBedit or the free version called Text Wrangler, available from Barebones.com. Here I'll do a quick scan to look for certain types of anomalies. Here are a few types of things I might look for.

A blank caption after the timecode. All lines must have at least some formatting applied, even if there is no text in the caption.

SCC line with a blank caption

Another thing to look for is unpaired binary code. Every set of alphanumeric digits should be in sets of four usually, although they can come in twos, I believe. MovieCaptioner always creates them in sets of four digits. If you see anywhere where a line ends with a 3 digit number instead of 4, there's probably trouble there. Sometimes this could be caused by a character in the captions that is not supported by the SCC format which can goof up the sequence of numbers.

a 3 digit SCC line with an unsupported character

In the example above, an unsupported character is showing up as a bullet. Instead of it being a 2 digit number to represent the character, it is only one digit, which throws off the rest of that line. Note the last number sequence is only 3 characters long as a result. This will throw an error when it goes to display in QuickTime. The line should have ended with " 942f", but instead it is " 42f".

The other more difficult thing to find is what's known as a timecode overrun. In the SCC format, each caption needs about 1 frame of buffer time per every 2 letters of a caption. If you add all that up and subtract if from the timecode for that line, it should not be less than the timecode preceding it. So the caption "I may be going now" might need 18 frames of buffer time to display. Subtracting 18 frames from its timecode should not run into the timecode of the previous caption. This seems to vary, however, with different captions, so I've not found it to be a hard and fast rule. If someone would verify what this is exactly, I'd love to know myself. Before you can do anything about this, however, you need to find the caption (or captions) that have timecode issues. I do this by opening the SCC file in my text editor and using cut and paste, I test out sections of the file. I will typically select and cut all the captions from the midpoint of the file till the end and save it. I will leave the text editor open while I test the saved SCC file in QuickTime Pro. That way I can undo my cut and try again. I'll drag the SCC file onto the QT icon and see if it opens properly. If it does, I know that the error lies in the last half of the file. I will keep splitting the file in this manner until I get it to work again and then not work again, so I will eventually home in on the line that's giving me the problem. Once I identify the offending line, I will look it over for anomalies as above. If I can't find any, I look at the timecode and count the characters to give me an idea of whether or not the timecodes may be too close. If they do look close, I will start to add frames to the offending line's timecode and saving, then testing in QuickTime Player until I get it to work. I'll then make sure there are no other lines in the SCC file that are causing such problems. These timecode overruns typically are caused when 2 or more captions are long and come in rapid succession. I will sometimes have to abbreviate words or divide the captions more evenly to iron out this problem.

But how do you find the captions in your project when all you can read is binary code??? Well, I've got an answer for that. It's called SCC Caption Decoder, a lightweight application that will decode an SCC file and save it as a text transcript that is human readable.



This really helps. After running the file through SCC Caption Decoder I can look for that same timecode where the problem was and know what the captions says so I can find it in my caption project. You can't just go by timecode necessarily because for the SCC format, the buffer time is built into the caption's timecode, so even though you set a caption at 00:04:21:07, the buffer time might change it to 00:04:20:01, for example. SCC Caption Decoder can also convert the time to what the original time was if you select the optional radio button. If you don't need the timecode, it can also save it in paragraph text form as well. It's a handy little tool for people who work with SCC captions a lot, and is really great if you just want a text transcript of what an SCC file contains. Give it a try. There are both Windows and Mac versions and you can try it out for 7 days. Cost to purchase is only $19.95. A convenient tool to have in your arsenal.

decoded SCC file as readable text

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

Thursday, May 12, 2011

Making Closed Captions That Can Be Turned On and Off

I've gotten a lot of queries recently about how to make subtitles that can be turned on and off. One way, of course is the embedded SCC captions that are supported by QuickTime. These are the type of closed captions you see on TV. MovieCaptioner will add these to your movie automatically if you choose that particular export option. To turn these on and off just go to the View menu in the QuickTime Player and select Show Closed Captioning or Hide Closed Captioning. In the browser you'll get a CC button to toggle them on and off.



I've recently discovered that there is another, perhaps more visually pleasing way to add soft subtitles, those that can be turned on and off, to a movie using MovieCaptioner and HandBrake. I use MovieCaptioner to create my captions and get them all synched up with the movie. Then I export as a .SRT caption file.

exporting SRT caption file from MovieCaptioner

Once I have my caption file created, I open HandBrake, a free video tool that I'll use to add the soft subtitles. It will ask you to load your movie, then just click the Subtitle tab in the middle of the window.

loading the SRT caption file in HandBrake

That will enable the Add External SRT button. Click that button and locate the .SRT caption file you exported from MovieCaptioner. It will be added to the Track window below the button. Once you see it appear there, just click the Start button at the top of HandBrake and it will create a new m4v movie with subtitles embedded in it. They appear as white over a translucent background.

Movie with SRT subtitles embedded in it

If you don't see them when you first start playing the movie, go to the View menu in QuickTime Player and select the Subtitles menu item to turn them on. They can be turned off this way as well.

subtitles menu in Quicktime

SRT subtitles are a nice alternative and works in both QuickTime 7 and QuickTime X. I've not gotten these to work in a browser yet, so if you've had success with doing this, drop me an email.

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

Monday, March 28, 2011

Why Customer Support Is So Important

I was pretty surprised to read emails from my customers who do closed captioning for their videos, saying things like, "it really is amazing to have such great service" and you "offer amazingly responsive customer support". Why am I surprised? Because I just can't believe that other companies and especially software developers aren't seeing customer service as a rare chance to really connect with their customers as I do. I am fortunate not to get too many technical problem reports on MovieCaptioner. I can't say it's really luck, though. At first I had my share of issues to deal with, but I listened to my customers and from their problems I was able to see the weak spots in my software and focus on fixing them. Sometimes this required fixing an obvious flaw in the software that just didn't work as it was supposed to, but sometimes it was more a case of controlling the way the user could interact with the software to guide them away from possible problems. Either way, when you do this, you're making a better user experience. I have worked with customers via Skype and iChat, sharing their computer screens so that I could see what they were doing wrong or what problem they were having with the closed caption creation process. I've actually redone parts of people's caption projects when they crashed and lost some work and had a deadline, I've compressed video for others, I've done screen capture videos to show someone a process and took countless screenshots of QT settings, MovieCaptioner Preferences windows, and the like. I figure that if my customers succeed, then I will as well. It may take time, but karma has a way of working things out. One customer emailed me and I could tell he was really irate that somehow his project crashed and he lost a bunch of work. This was about 10PM. I was able to convince him to send me his video and he had a pleasant surprise waiting in his email inbox the next morning. I had redone his project for him. It took me maybe a little over an hour of my time, but I figured it would be worth it. He was absolutely thrilled and promised to pass the word about how great MovieCaptioner was and the excellent support you get with it. Obviously I can't do this for everyone, but I had some time and he had a deadline, so I gave it a shot. I've also learned to have infinite patience, especially with people who are very frustrated or who just don't get it and need a little extra help. It helps me just as much as it helps them, as I get to see what types of people use my software and why they need it. I've added a lot of different features as a result of my work with dealing with customers' issues. I recently implemented a Backups folder that, when you quit out of your project will save any scratch files (used for Undos) to a Backups folder. This folder is available directly from the File menu and projects are listed by the date they were saved. This could, I think, prove to be a lifesaver for someone who has 6 hours of work and somehow loses his project. So, really it's all about listening to your customers and potential customers. You're bound to succeed if give them what they want.

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

Tuesday, March 15, 2011

Free Refills!

Don't you really like it when you go to a restaurant and there's a sign that says "Free Refills" on your drink? Well, I know a lot of people think I'm crazy, but that's my philosophy when someone purchases my software. Once you buy, you're in the club. You get free upgrades for as long as I continue to offer the software. Isn't that the way it should be? Why do software companies charge a premium for new versions of their software when often it's just a bunch of bug fixes anyway? Why should I have to pay for someone to fix what they should have gotten right in the first place? The way I feel is that free upgrades are a nod to my previous customers, a way of saying "thanks!" for supporting the software early on and helping me to improve it. When MovieCaptioner was first released a few years ago it had its share of major bugs, and being new to the software arena, I knew that I had to make up for my lack of programming ability by always striving to make it better and better, as trouble-free as possible. I think I'm succeeding for the most part, because I rarely get problem reports. Most of the time it's questions about "Can I do this?" or "How would I go about doing that?" I try to give each email I receive the utmost personal care. I figure that every time someone has a problem, it gives me valuable information about how people interact with the program and what I might be able to do to make things easier for the user. For being the sole proprietor and head bottle washer, I am really pleased that I don't get as many problem reports as I thought I would. Sometimes I feel like the Maytag repairman, and that's a good thing (if you're old enough to remember those commercials). So, just remember that when you purchase MovieCaptioner, you're going to get my undivided attention, and best of all, free refills.

Please give MovieCaptioner a try to make your movies accessible. You can download a free 14 day fully working demo.

Tuesday, February 15, 2011

One Q to Rule Them All

Although I'm very grateful to Apple for their support of captions and accessibility in general, I do think that QuickTime needs some attention. With Snow Leopard, a new QT Player is automatically installed, called Quicktime X. Although QuickTime X has some nice features, like being able to record screen action, it has a number of faults as well. As soon as Snow Leopard was released, I found that my s/w for adding captions to movies, MovieCaptioner, was broken and I had to scramble to fix it. It turns out that QuickTime X does not have the same editing features as QuickTime 7 Pro, which I was leveraging for my s/w. QuickTime X cannot import text tracks, so in order to do so, you need to get your Snow Leopard install disk and do a custom install of QuickTime 7, then register it as the Pro version. Okay, so if you get QuickTime 7 Pro installed, you're back in business. But there are some other issues I'd like Apple to address in QuickTime as well.

1. Support for QuickTime sprite tracks

QuickTime X does not seem to support sprite tracks. With QuickTime 7 I can add a little CC button to my QT movie so that you can toggle the captions on and off. I would love to add this feature to MovieCaptioner, however, the fact that most Mac users will not have QuickTime 7 installed makes it a dead issue. So many people would love this option!

2. Windows support for creating SCC captions

On the Mac, you can get the ClosedCaptionImporter.component plugin for QuickTime, which allows you to import Sonic Scenarist (SCC) caption files to make broadcast-style captions for your QuickTime movies. MovieCaptioner automates this process. Unfortunately, this plugin or capability is missing from the Windows version of QuickTime. If Apple could create a plugin for QuickTime that allows SCC caption imports, then people on Windows could create accessible movies for iPods and iTunes as well as Mac users.

3. Windows SMIL captions garble the audio

MovieCaptioner uses the QT SMIL (Synchronized Multimedia Integration Language) format to do previews of your captioning project. On windows, though, using the SMIL format results in audio that sounds like it went through the blender. Play the movie by itself and it sounds perfect, but play it through the SMIL file and you get total garbage. This has been identified as a bug for over a year at least, and I've seen no progress towards fixing it.

[UPDATE on 3/3/11] After trying every trick in the book for QT and Windows sound settings, I found that by opening a QT SMIL movie in the QT Player for Windows and going to the AV Controls (under the Window menu) I could fix the sound by moving the Pitch Shift control slightly to the left. This is hardly a "fix", though, since you would have to do this for every SMIL movie you opened and the AV controls are not available to movies that are embedded in a web page. It may, at least, provide Apple with a hint as to how to fix the issue. I've reported this as a QT bug to Apple with this new info.

I must say again that I love Apple's operating system and just about everything else, but I sure wish that these QuickTime issues would be resolved soon, so I can make my software better. And it would be nice if we only needed one version of QuickTime. One Q to rule them all.

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