Author Archives: Mark Sweeney

This application imports subrip files and converts them to iTunes Text Tracks for YouTube.

Advantages it has over Final Cut Pro X is it directly imports subrip files, and the exported iTT file works properly on YouTube.

Currently Final Cut Pro X exports iTT captions with a default cellResolution of 32:15, a holdover from CEA-608 Closed Captions which had a limit of 32 characters per line, and a maximum of four lines of text.

One the left is how captions are supposed to display in YouTube, on the right is how captions with lines longer than 32 characters show on YouTube.

Currently, YouTube shunts captions to the left side of the video if any line of captions is has more than 32 characters, as shown below, on the right.

This program sets the limit to 48 characters per line, and warns you when a caption exceeds that limit so you can avoid having YouTube screw up the positioning.

It also allows you to assign color styles to entire lines of captions, which can be handy when you have several people talking – colored text can help deaf and hard of hearing viewers understand who is speaking.

In the preferences is an option to add a name tag to the beginning of captions to also help identify the speaker.

It’s still beta, so expect bugs/crashes. This version will only work until the end of December 2018. I’ll be updating (and extending the trial period) it as I finish it up and polish it off.

On macOS I got tired of dragging webvtt files onto TextEdit to view them, so I wrote a Quick Look plugin so you can just select the .vtt file and press the space bar to preview them.

You’ll need to download the WebVTT Quick Look plugin and install it in the ~/Library/QuickLook folder. To view the Library folder from the finder, select the Go menu in the menubar, and hold the Option key (⌥). Drag the uncompressed WebVTT Quick Look plugin file to QuickLook folder.

You can either restart your Mac, or use the Terminal and enter the command: qlmanage -r
Using the terminal command above means you don’t have to restart your Mac.

Testing WebVTT captions some more so I can compare them to how YouTube renders the captions vs Quicktime and browsers.

Html 5 and Quicktime render a little differently (not shown here). Quicktime with WebVTT captions embedded in the video has a built-in ‘safe-area’ where it displays Closed Captions, so captions can’t be displayed right at the edges of the video.

Youtube has some quirks. Left align does not work, vertical position is uneven, and right align only works if you add a space after the colon in the markup (i.e. “align: right” works, “align:right” does not.)

mp4 video below with sidecar WebVTT Closed Captions:

Youtube video with the same WebVTT Closed Captions file showing inconsistencies in vertical spacing and left alignment that doesn’t work.

outlineToggle.onValueChanged.AddListener(Change_Outline);//Executes code when toggle is changed
shadowToggle.onValueChanged.AddListener(Change_Shadow);//Executes code when toggle is changed
fontList.onValueChanged.AddListener(Change_Font);//Executes code when dropdown is changed
optionButton.onClick.AddListener(Check_Options);//Executes code when button is pressed

if(myCaption ==null)//checks to make sure there is a caption.{//Debug.Log ("It's null");
captionBackground.enabled=false;//turns off caption backgrund if there's no image.return;//returns if there is no caption.}

if(!captionBackground.enabled){ captionBackground.enabled=true;}//turns it back on if a caption replaces a blank caption.

for(int i =0; i < captionSplit.Length; i++)//we need to get the length of the longest ling of captions to set background box size{if(captionSplit[i].Length> maxCharacters){
maxCharacters = captionSplit[i].Length;//gets length of longest line for setting box width.}}

maxCharacters += sidePadding;//adds padding at side for background box.

690 Days.
That’s how long it took Telus to “work on adding closed captions to their Optik TV Go app” and Optik on the Go online, according to their tweet.

The app was 6 years old before they finally added Closed Captions to it.

Note – while the Optik TV Go app on iOS looks good and uses Apple’s AVKit ( you have control over how the captions look via iOS settings), however using a Mac/PC to watch online, the captions are crap.

Watching OptikTV on your Mac/PC requires Flash video. The closed captions in Flash video do not use AVKit, are not customizable, and are poorly formatted. It also does not remember settings (Channel Types -> Playable on the device).

The first time you have to turn on the closed captions they work properly. However, when you return to the site and watch a video, the CC button indicates Close Captions are on, but they don’t work. You have to turn them off and back on to get them to display.

Then there’s the formatting of captions – they don’t follow CRTC standards. So many times captions end with a single word on the next line by as illustrated in the following 3 images:

The caption formatting seems to limit captions to 26 characters per line which forces the last word to a new line of captions. Current standards dictate a maximum of 42-45 characters per line of captions for CE 708 Closed Captions.CE 608 (aka Line 21) Closed Captions has a 32 character limit, which was the standard for 4:3 aspect ratio tvs (the old CRT televisions).

Unfortunately, unlike the US Americans with Disabilities Act, Canada has no Disability Act which sets standards for online Closed Captioning, and Telus is following no standards at all for their OptikTV Go online Closed Captions.

There’s also the similar UI problem as on the television with Optik TV – the Telus UI obscures the Closed Captions, making them difficult to read. While this is worse on the television, it’s still poor design. The UI should not be covering or obscuring Closed Captions, especially since it remains on screen for several seconds, require views to rewind several seconds in order to see the Closed Captions when resuming play.

So, after 6 years, TELUS has half-assed captions that don’t follow proper Closed Captions formats or styles. I guess this puts them slightly ahead of YouTube’s Auto-Craptions.

After talking with a number of people on Twitter, and given the awful, or limited gaming subtitle options for PC and console games, I decided to set up an app with the minimum subtitle options games should have.

I used Unity3d to create the WebGL app. You may need to install the Unity3d Web Player plugin available for Windows and Mac browsers.

The background image and subtitle is from Wolfenstein: The New Order. The starting subtitle size is approximately the same size as it appears in game, but I’ve split the subtitle into two lines. The original was on one line, breaking one of the primary closed captioning/subtitle guidelines of no more than 42-45 characters per line.

If there had been options to increase the size of the subtitles in the game, you wouldn’t have been able to make them much bigger without the caption getting cut off on either side of the screen. Splitting the caption to proper lengths gives you room to make subtitles much bigger.

Some people may think subtitles cover up too much of a game screen, but that’s irrelevant. The whole point of subtitles is communication. If players can’t read them, they will miss vital gameplay information and story.

Making subtitles readable to a wide range of players is what’s key with subtitle options. Some people don’t need subtitles at all. some like small subtitles. Others need high contrast between subtitles and backgrounds. Some have low vision and need them as large as possible.

Game companies need to expand the range of options available for subtitles. I’ve set what I think should be the minimum standard for subtitle options for games.

One other important thing about subtitle options – the player should be able to see exactly what they’re getting in the subtitle options with a full screen sample. Having a small sample image with subtitles on them to illustrate is not enough. The sample should be full screen right in the options menu so players can set subtitles up exactly the way they need to so they can read them as easily as possible.

If you’ve ever needed to add closed captions to YouTube or FaceBook, Aegisub is a great, free program for creating closed caption Subrip files (.srt). Subrip files are what you upload to FaceBook or YouTube to add Closed Captions to videos.

It’s extra steps and work to keep going to the GameObject window in Unity3d to select ‘Apply Changes to Prefab’ after selecting the prefab. Now you can do it just by right-clicking the prefab and selecting ‘Apply Changes to Prefab’ from the context menu. Just download the editor file here and add it to a folder named Editor (as seen in project folder in the video).

It looks like this app will create ‘open captions’ using iOS’s speech recognition. Open captions are captions which are ‘burned’ into the video, which would be a great for adding captions to videos on Twitter. Twitter currently has no Closed Caption api to add, or display closed captions in videos embedded in tweets. (Note – video above has no audio).

So Clips could be good for embedding open captioned videos to tweets, making them more accessible to deaf and hard of hearing. This would have been great for Vine. RIP.

This feature will also upload clips to Twitter, FaceBook, Youtube and Instagram, and requires iOS 10.3, which will be coming soon as well.

Via Apple:“Live Titles let you easily create animated captions — just by talking as you record. Choose from a variety of styles, all perfectly timed to the sound of your voice.”