Because most of the free-to-air satellite feeds in North America aren’t intended for direct home viewing, not all of them will have closed captions enabled. But, many feeds do include closed captions, and since most PVR backend software (including TVHeadEnd) save these as part of the transport stream (.ts) recordings, Kodi version 15 (“Isengard”) is capable of displaying them, when they’re available. The support isn’t perfect yet (it’s especially irritating that words with apostrophes are often displayed with double quotes in place of the apostrophe) but it’s present in the newest Kodi versions (at least in the Linux version of the Kodi software). You can toggle the closed captions on and off from the On-Screen Display, but if you have a Windows MCE compatible remote, you may find it a bit frustrating that pressing the “Closed Caption” or “Teletext” button only brings up a message saying “Teletext not available.”
A recent post on the Kodi forum provides a solution to this:
Go to your Kodi userdata/keymaps directory (~/.kodi/userdata/keymaps in Linux, ~/Library/Application\ Support/Kodi/userdata/keymaps in OS X, I don’t know where it is on other platforms) and see if there’s file called remote.xml there. If so, you will want to add the following lines to it (except for the first line if it’s already there); if not, create a new file with that name and edit it to contain all of this:<?xml version="1.0" encoding="UTF-8"?> <keymap> <FullscreenVideo> <remote> <teletext>ShowSubtitles</teletext> </remote> </FullscreenVideo> </keymap>
Save the edited file. Now you should be able to toggle ATSC closed captions using the Teletext button on your remote, without needing to go into the OSD.
I tested this and it seems to work, but not on every satellite feed. I have no idea why it works on some feeds, but not others, other than that some feeds either don’t include the closed captions, or they include them in a non-standard manner (one that their decoders at their local affiliates know how to deal with).
If you try this on your system and it doesn’t work, it may be that ATSC closed caption support isn’t properly implemented yet in your version of Kodi, particularly if you are not running under Linux or Windows. Or, it may be that the “Closed Captions” or “Teletext” button on your remote is sending something other than “Teletext”. In Linux, if you run the irw program from the Linux command prompt, and then press the button on the remote, it should show you what that button is sending. On my system it looks like this:
~$ irw 000000037ff07ba5 00 Teletext mceusb 000000037ff07ba5 01 Teletext mceusb
(Press Control-C to exit irw.) Don’t worry if more than one line appears for a single button press, but if the button shows anything other than Teletext, substitute that in place of “teletext” in the line <teletext>ShowSubtitles</teletext>. If pressing the button gives no response at all, then this technique won’t work until you can figure out how to get your system to recognize that button, which is beyond the scope of this article.