By Werner Ruotsalainen on Fri, 11/23/2012
There is a lot of confusion (see for example THIS) around Closed Captions (CC for short); they are routinely mistaken for traditional, textual subtitles (subs for short), even in the non-TV-streaming / DVD, that is, strictly Apple world. In this article, I've elaborate on the difference, the CC-to-subs conversion and the rendering of the original (Apple) CC's in desktop and iOS players.
1. The difference between CC and textual subs
1.1 Apple's CC
First and foremost, everything you purchase or download from Apple's iTunes Store have CC subtitles only (if at all): both movies you do pay for (the minority of the paid movies, unfortunately) and the free iTunes University videos; for example, the ones HERE (the Stanford U iOS programming course). You can easily see, before purchasing, if a given title has CC's: just look for the “CC” icon. For example, in the above iTunes U example, all non-slide downloads have CC's. I've annotated some of the first ones:
With non-iTunes U movies, the CC icon is in the left side:
Of the former iTunes U videos (more specifically, of the second in the list), I've created a chunk, available for download HERE; of the latter (1080p Full HD Men in Black II), HERE. For creating the latter, I used QuickTime Pro 7 on an authorized desktop computer. The former could have been created on any (not necessarily authorized) computer with QuickTime Pro 7.
1.1.1 Editing (cut / copy) DRM'ed videos in QuickTime 7 Pro
A side note on how I've created the latter video (An editing and iOS playback trick):
In QT7 Pro, after copying a slice of the DRM'ed video to the clipboard, when you create a new video and paste the content of the clipboard into it, it'll state it's not authorized to play it back. However, you can save it without problems. The embedded CC track will also be saved and the resulting file will be playable in iTunes on an authorized computer or iDevice. The latter, of course, will only allow for playing the file back from the stock Videos app – or, if the device is jailbroken, the uppermost “Video Player” item in the absolutely essential jailbreak file handler tool iFile:
(as with all images below, click the thumbnail for a much better-quality and larger one!)
Should you want to avoid having to synchronize your DRM'ed videos to your iDevice via iTunes and would prefer copying them via iTunes File Sharing, this is an excellent workaround. Or, for that matter, keep on an SD card or other kind of similar mass memory (see THIS for info on using Apple's Camera Connection Kit for this) This means you do not need to store your movies you've purchased from Apple – you can just copy them to, say, an SD card and use iFile's player to play them back.
Note that I've also explained this in THIS MacRumors thread.
1.1.2 Enabling CC rendering in Apple's operating systems
18.104.22.168 Apple CC's
The (Apple) CC's in Apple's iTunes Store / University movies are rendered by Apple's all players. For example, the desktop iTunes presents you with an icon (annotated with a red rectangle):
In QuickTime X coming with recent OS X versions, there's no any kind of icon – you need to en/disable CC rendering in its menu, via View > Show [Hide] Closed Captioning.
There's no icon in the stock Videos player under iOS either. There, you must enable CC rendering separately, in the system-level Settings app. Go to Settings > Videos and enable “Closed Captioning” (annotated):
Again, there are no icons to tap on the Videos interface, unlike with textual (non-Apple) subtracks. This is what Videos' interface looks like while playing back a video with a(n Apple) CC track:
Compare the above interface screenshot to that of Videos playing back a video with a true non-CC textual subtrack; notice the text bubble icon annotated by a red rectangle:
22.214.171.124 ATSC CC's
As has already been mentioned, currently, you in no way can display ATSC CC's in any player under iOS (as opposed to the Apple CC's) - you absolutely must transcode all those videos to a MOV (via, say, HandBrake), convert the original CC's to SRT's (Chapter 2.) and, finally, embed the SRT in the MOV (Chapter 3.).
On desktop operating systems, the situation isn't that bad: the excellent, free VLC displays these CC's just fine (after enabling them under Video > Subtitles Track). Apple's own players don't fare very good, though: iTunes and QuickTime Pro 7 can't play TS files back at all; under Mountain Lion (OS X 10.8), QuickTime Player X can - but without the CC's. (The "Show Closed Captions" menu item is grayed out.)
1.1.3 Rendering difference between the two approaches
126.96.36.199 In Apple's players
In addition to being presented an separate icon for subtrack enabling (and selecting between them, if there are more than one of the subtracks), it's very easy to spot the difference between them based on the way they're rendered.
If you see non-proportional (read: pretty ugly), non-resizable text on black background, it's CC:
(desktop QT player)
(Videos player on iPhone 5)
And if it looks much better (neat, proportional font, without the ugly background), then, it's (non-Apple) textual. An iPhone 5 example, showing THIS video (the output of Subler – the one we'll create below):
Note that the iPad (as opposed to the iPhone) even draws a somewhat darker background behind the textual subtitle, making it even easier to read, even over very bright / white video:
iPads render Apple CC's in exactly the same way as iPhones (ugly fonts etc.); that is, they lose the advantage of the better background they apply to textual subs.
188.8.131.52 In MediaInfo
A quick look at the excellent, free and, therefore, highly recommended MediaInfo also helps differentiating between the two technologies.
With traditional text tracks, you'll see “Timed text” as the “Text stream” type:
With CC's, you'll always see “EIA-608” as the type:
1.2 CC's in ATSC broadcast recordings
ATSC, used for broadcasting digital TV in North-America and some other areas of the world, also uses CC's for subtitles. Note: In the areas where DVB is used instead of ATSC for digital TV broadcasting, generally, bitmap subtitles are used instead. Some iOS players (for example, GoodPlayer) are able to render them natively; you can easily extract them from the original TS recordings via ProjectX as traditional VobSub bitmap subtitles and add them to the target file (even Apple's native MOV / M4V / MP4's). The workflow of the latter is explained HERE and has absolutely nothing to do with the one for CC's. Note that the difference between the States (+Canada + some other states) and the rest of the world is also present when it comes to DVD's: in the US, they commonly use texual CC tracks; elsewhere, bitmap VobSubs. DVD CC's, as I don't have access to US DVD's with CC's here in Europe, are not discussed in this article. Basically, you can use the same CCExtractor (see below) to convert them to SRT's directly embeddable into most video containers and rendered by even Apple's players.
Unfortunately, as opposed to the Apple CC case (see above) none of the current iOS players render these ATSC CC's so, should you want to see them, you absolutely must extract the CC's and convert them to something more widely supported (e.g., SRT's). This will be discussed in the next chapter.
An example of these ATSC recordings is HERE (unzip it!). I will use it in the subsequent examples & tutorials.
2. Extracting CC's from the original files using CCExtractor
If you're happy with the way Apple CC's are played back on iOS, this (and the following) chapter won't be for you. However, if you want to resize / reposition them (in some, more capable third-party players) and/or just want them to be rendered using a much more pleasant font (and, on the iPad, an additional, dark background), you'll want to convert them to textual subs. (With ATSC CC files, as no player renders them currently, this is the only way of making them readable.)
This conversion has two steps:
- converting the CC's to SRT's via CCExtractor (the subject of this chapter)
- embedding the resulting SRT in the MOV file (the subject of the next chapter)
CCExtractor is a great, free, Windows-only (works just fine under Parallels & Win7) tool you WILL want to use to extract and convert CC's to textual SRT subs. Not only with Apple's CC's (assuming you want to convert unprotected videos; for example, those of the iTunes U because of, say, their awful rendering and fonts), but also with ATSC TS recordings.
Using it is pretty easy to learn. Generally, you drag the input file(s) to the “Input files” pane:
(Here, I've dragged the iTunes U chunk I've introduced in Section 1.1).
Now, after making some input format-specific (see the sections immediately below) switch to the “Execute” tab and click Start. The following screenshot shows the annotated button after clicking it and the apps' finishing execution, correctly finding the CC's in the input file (see the window, showing the finished output, just above the Start button):
Note that, almost surely, you'll need to play with some settings in both the Apple and the ATSC case before actually clicking Start. In the following subsections, I explain what additional settings need to be done.
2.1 Custom settings of Apple's own CC format
If you need to convert Apple's CC's, make absolutely sure you do select MP4 in the “Input options” tab as auto-detecting will fail:
Note: nothing can process protected Apple videos: it'll state “Found no AVC track(s). found no dedicated CC track(s).” That is, you can't extract CC's from a protected video purchased from iTunes.
2.2 Generic ATSC format
With a lot of videos, you will need to disable Teletext processing for ATSC recordings:
2.2.1 Roll-up captions
You might also want to disable roll-up captions (which are very commonly used in ATSC broadcasting) to avoid text duplication clearly visible in the following screenshot (see the duplicated, line-by-line upwards-shifted lines in the annotated output area):
Just enable the following checkbox in the Output (2) tab:
Then, the output won't have any duplicated rows:
3. Adding back the SRT track to the original (MOV / MP4 / M4V) video file
Now that we have extracted the not very eye and/or iOS-friendly CC's from the original Apple / ATSC files using CCExtractor, let's add them back to the files. (With ATSC, I assume you also reencode them to a MP4 / M4V / MOV file with, say, the absolutely excellent video converter HandBrake. Needless to say, HandBrake doesn't support ATSC CC's, unlike, say, DVD VobSubs.)
We'll use the excellent, free, all-in-one tool “Subler” for this.
1, Open the original MOV (from now on, I refer to the file as a MOV one. It can also be a MP4 / M4V one) file (Cmd + O). In the track import dialog, make absolutely sure you uncheck the checkbox in the CEA-608 row, annotated in the next screenshot:
(If you fail to do this, Subler won't be able to export the video. For this tutorial, I used the iTunes U test video. Feel free to repeat these steps with the same video so you, at first, don't need to face an entirely different one with possible more tracks.)
You'll see this:
Now, click the “+” sign (annotated above) and select the SRT file you've previously exported with CCExtractor. Just click “Add” in the presented dialog:
After clicking Add, the main track list will show the just-added subtitle track (annotated below):
Now, you can save the video (Cmd + S). Remember to check in the “64 bits chunk offset” checkbox if the video is over 4 Gbytes. (With smaller videos you can also keep it enabled – after all, the increase in size it incurs is negligible and 64-bit files are only incompatible with some non-iOS mobile devices.) In the “File Format” drop-down list, you can select both “Video-MPEG4” and “Movie-MPEG4” - no matter which of the two you select, the subtitles will be rendered by all devices: Apple's most apps (the desktop iTunes or, on iOS, the stock Videos) and (current) devices (including the Apple TV) too:
The only exception is QuickTime (QT) Player, which can't render these textual subtitles in any way – it can only render true CC's (after enabling them in View > Show Closed Captioning, as has already been explained above). As the saved file won't have CC any more (remember we disabled its checkbox in Step 1 to avoid Subler's trying to export it – and, subsequently, fail at it?), QT won't display any subtitles either. The solution is, of course, using another desktop player (iTunes, VLC etc.) instead of QT.
BTW, the video exported in the last step is HERE - feel free to give it a try!
3.1 Adding SRT's to DRM'ed MOV files?
Unfortunately, you can't do the same with copy protected MOV files. Subler won't import the video / audio tracks (even if you do enable their checkboxes) and MP4Tools (another, excellent MOV handler tool) won't even show them.
This also means you in no way can display any subtitle track on top of a DRM'ed video:
- the built-in, stock Videos app (or, on jailbroken devices, iFile's Video Player – see section 1.1.1) can't open a separate SRT (or any other) subtitle file (unlike tons of third-party players) to render its content on top of the video
- third-party apps otherwise able to play a video file while reading the subtitle information from another cannot play DRM'ed content, not even on JB'n iDevices and not even using RushPlayer+ or XBMC, the two best (as they don't need to obey Apple's, at least hardware acceleration-wise, unneededly strict and, in my opinion, pretty silly rules) unrestricted players.
4. Native iOS applications able to render Apple's CC's
Should you, for some reason (I, personally, wouldn't – textual subs are so much more flexible) want to stick with the original CC's in your non-DRM'ed Apple files (for example, iTunes U ones), you can use several third-party players to render them. This way,
- you can avoid having to synchronize these videos via iTunes - a requirement of the stock Videos app; currently, as of iOS 5+ and Mountain Lion, old tools (for example, SyncPod) that used to allow for directly transferring videos from the desktop to the video database of the stock Videos app don't work any more. Neither the 3.x-series, brand new (and excellent) iExplorer not (at least the Mac version of) iFunbox are capable of doing this either.
- you can use some of the additional features of these players not available in the stock Videos app. The most important of them is playback speed change (0.5...2, especially useful when you just want to quickly refresh your knowledge via watching iTunes U videos) and the ability to quickly rewind / fast forward with either gestures or dedicated icons (see THIS for why it's so important). Note that none of the current iOS apps can parse these CC tracks natively (with built-in Apple CC support), which means most other features (e.g., DSP's like volume or brightness / saturation boosting - see THIS for more info) requiring at least some sort of software decoding aren't available. (It's Playing, the very few players that can use DSP's even with hardware playback, as of current version 3.8, can't render CC's at all in hardware playback mode.)
The list of third-party players with CC rendering (strictly in hardware accelerated mode if it can be disabled) support but without any kind of added runtime functionality like speed change / quick rewind / ffwd:
Falcon Player and Downloader Pro for iPad
HD Player Pro (used to be ATK Player by Khoa Tran Anh)
Play Any Video Format - PlayerX HD
Oplayer HD by olimsoft
GPlayer by Ginkgo Tech
Azul Media Player - Video player for your iPad By Gplex
eXPlayer HD by Zhigang Chen
yxplayer by mobilesoft.kr
Speed change usable:
VM Player HD
Rewind / ffwd works:
BUZZ Player HD by BUGUN Software (use the icons!)
GoodPlayer by Hustmobile
CineXPlayer – The best way to enjoy your Xvid movies by NXP Software B.V. (use the icons!)
EC Player (use the icons!)
flex:player (the 30sec icon too)
Both gesture rewind / ffwd and speed change work:
AVPlayerHD by EPLAYWORKS.Co.Ltd.
RushPlayer+ (jailbreak only)
AnyPlayerHD (the A-B playback setter also works)
Absolutely no CC rendering:
Movie Player HD+
VLC (AppStore + Cydia 1.1.1)
WMV Player Pro WiFi
Privacy video player safe & lock
iSpring Movie Player
Video Media Player
Movie Player – Plays any Video! by Dominic Rodemer
It's Playing by Addition, Lda
XBMC (jailbreak only)
Note that I've tested this with the absolutely the latest versions of these apps today (24/Nov/2012). Some of the apps, "thanks" to Dolby's chasing every developer using AC-3 and other Dolby technologies, may be missing from AppStore (I've listed some of them some days ago HERE) - that is, some of the links may be dead.
UPDATE (Nov/25/2012): HERE, answering a Plex-related question, I've thoroughly tested how it handles external textual (SRT) subtitles. You need to embed the subtitle tracks in the MP4's with Subler (see Chapter 3 above) AND switch off any kind of dynamic reencoding. Switch to 1080p 20 Mbps mode, which guarantees the Plex server won't reencode but will just transfer the entire MP4 file, now, with the embedded subtitle, to the iPad. As the Videos playback engine in the iPad does render textual subs, you'll be able to view them too. (Just remember to tap the sub icon (the one in the last screenshot in section "184.108.40.206 Apple CC's" above) while in playback - NOT the standard Plex sub selection in the "info" view.) In all other cases (SRT, after renaming, in the same directory as the video and selected via the "info" button), I wasn't able to see the subs.
Also note that I've tested the rendering of true Apple CC's Apple's TV shows. The iTunes Store has turned out to only have protected TV show files, meaning even free ones like the "Revival" HERE are unplayable in other, third-party players (and you can't, of course, extract their CC tracks / add them back as an embedded SRT one), let alone the non-free ones like "India Special" HERE. This means in no way can you make use Chapter 2 (extraction to SRT), 3 (SRT embedding in MOV files) or 4 (third-party players playing back MOV files) above with Apple's TV shows either.