Are QuickTime Text Tracks Dying?
Lately I've been seeing increased problems with QuickTime text tracks that are either embedded in QT movies or are called in externally via a QT SMIL file, both of which MovieCaptioner can create.
First I saw problems on the Windows side. QuickTime 7.7.2 for Windows simply will not read any QT Text file embedded into the movie. It seemed to choke somewhere on a font attribute and would only display something like "al}" (when Arial was selected as the font). The same problems were exhibited with QT SMIL captions, where the .qt.smi file would call in the movie and the QT text file to display them together. I found that removing QT 7.7.2 and reinstalling QT 7.7.1 fixed this problem. I reported this as a bug to Apple in May 2012. If you need to revert to QT 7.7.1, send me an email at synchrimedia@gmail.com and I'll get it to you. It seems to have disappeared from Apple's downloads page.
Most recently I've found an issue on the Mac side of things as well. With my brand new MacBook Pro with retina display I get some pretty bizarre results with QT Text files as well. This is with QuickTime 7.6.6, the latest version of QT for the Mac. I did some experimenting and found that it was the retina display that seems to be causing the issues. When I hook my laptop up to an external monitor, the captions display perfectly. But, as I drag that movie from my non-retina display to the retina display on my laptop, the QT text track suddenly shrinks to half its size and moves halfway up the movie instead of being below the movie as it displays on the non-retina display. Here is the captioned movie as displayed with a non-retina display:
Here is the same movie after sliding it horizontally to my laptop's retina display:
As the movie moves to the retina display, the QT text track suddenly shrinks to half its size and moves halfway up the movie window. Typically, though, after embedding the text track into the movie, the movie will obscure the text track behind it. I also tried adjusting the QT text file to change the width and it will suddenly jump to a huge width if I go larger than what it is (320 as set here).
It's a shame Apple doesn't do a better job of supporting their own technology. I'm afraid this may cause many headaches for people who have gone to a lot of trouble to make their videos accessible only to find that when viewed on a retina display, all their work is for naught. Does that mean they are suddenly non-compliant with captioning laws? I hope not, but it will raise questions from people who do not know that this is a bug between QuickTime and retina displays, which I'm sure will become more prevalent in the future.
Fortunately, I've found that embedding an XML file instead of a QT text track still seems to work for some reason. I will most likely switch from using the SMIL captions with QT text files to using XML instead. The XML files will still work perfectly, both embedded and in the SMIL files on the retina display. If you're using MovieCaptioner, this will be the second export option under the Export menu called "Embedded QT (Unicode)". This format has the advantage of being able to display many characters that regular QT text files cannot display, including Asian character sets. The only problem with the XML format is that it will not wrap text as QT text files do by default, so you'll have to make sure to add the "|" symbol to denote a hard line break in MovieCaptioner so that it will know where to put the line breaks in the final XML file. MovieCaptioner now has an auto line break feature under the Edit menu that will allow you to add line breaks automatically every so many characters. You can set that amount to anything that suits your movie. It will look for a space between words on or before that character limit.
So, look for a change in the next version of MovieCaptioner unless Apple does a quick fix for this problem. I will most likely drop support for QT text files in favor of XML.
Thanks for a very thorough post about another part of QuickTime's gradual and sad decline. I hit the same problem with 7.7.2, luckily I only need it to work across an intranet system where I can prevent anyone from updating QuickTime beyond 7.7.1, but in the wider world it's bad news.
ReplyDeleteI'd welcome a couple of pointers as to how to generate XML subtitle tracks for QuickTime? I've not tried that before.
The problems with SMIL and audio are ongoing as well...
Stuart, while MovieCaptioner automates this process, it can be done manually. You can type out each caption on a separate line of a plain text file, save it, then open that plain text file in QT Pro. From there, export it as Text to Text. It will create a QT Text file. In that file you can change the timecodes to trigger when each caption should appear. By default it gives you 2 seconds for each one. Once you get all your timecode in, save it and open this file again in QT Pro and export as Text to TeXML. You could go directly from the original plain text file to TeXML, but it's eaier to do the timecode in the QT Text file.
ReplyDelete