Using VLC Closed Captions with the HVR-950q

I was on a call with someone a few weeks ago, and they mentioned that they had been unable to get NTSC closed captions to display within VLC on the HVR-950q. Thinking that perhaps he was not the only person who had trouble figuring it out, I figured it would be worthwhile to walk you through the sequence.

The key to getting captions to work is specifying the VBI device. Because even in 2013 the V4L2 API still lacks any way to associate a /dev/vbi device with a /dev/video device, the path to the device node must be manually specified.

First, go to “File->Open Capture Device”. The following dialog will appear:

[lightbox title=”Open media dialog” href=”/blog/wp-content/uploads/2013/07/openmedia-300×241.png”]Open media dialog[/lightbox]

As you normally would, specify the path to the /dev/videoX device and ALSA audio device (in the above example it’s /dev/video0 and hw:1,0), then click on the “Advanced Options” button. Now the following dialog will appear:

[lightbox title=”advanced” href=”/blog/wp-content/uploads/2013/07/advanced-300×262.png”]advanced[/lightbox]

The first field on the page is the “VBI capture device” field. This is a field I recently introduced into the upstream VLC product, so if you don’t see it then you probably need to get the latest version of VLC. The field is blank by default, but to get captions you must specify the VBI device to use. In the above example, it’s /dev/vbi0.

Then Click “ok”, then “Play”, and you should now be seeing video. However at this point you won’t see any captions. Specifying the location of the VBI device itself doesn’t enable the captions – it just makes it known that captions are available. To enable captions, go to the “Video->Subtitles Track” and select “Closed Captions 1″.

The following screenshot illustrates selecting the CC track:

[lightbox title=”ccenable” href=”/blog/wp-content/uploads/2013/07/ccenable-1024×640.png”]ccenable[/lightbox]

Note if you don’t see any options under the “Subtitles Track” menu then you didn’t properly specify the VBI device to use.

That’s all there is to it!

It’s probably worth noting that this process should work with any V4L2 device that supports raw uncompressed video and VBI capture. I’ve heard though that it doesn’t work with compressed capture devices (like the PVR-150 or HVR-2250). That should be pretty easy to fix though if anybody has a commercial need for me to get it to work (or of course anybody is welcome to submit their own patches to the VLC tree).

Leave a Reply