[vlc-devel] Private substream for closed captioning data from video capture cards

RATH, CHRISTOPHER A (CHRISTOPHER A) car at research.att.com
Fri Sep 11 14:33:20 CEST 2009

> Message: 2
> Date: Fri, 11 Sep 2009 10:25:52 +0200
> From: Jean-Paul Saman <jpsaman at gmail.com>
> Subject: Re: [vlc-devel] Private substream for closed captioning data
>        from    video capture cards
> To: Mailing list for VLC media player developers
>        <vlc-devel at videolan.org>
> Message-ID:
>        <345609370909110125x29a6ae16obf6378d8d1917eaf at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"

> On Thu, Sep 10, 2009 at 3:47 PM, RATH, CHRISTOPHER A (CHRISTOPHER A) <
> car at research.att.com> wrote:

>> A few days ago I posted a message concerning a problem we were having
>> playing video generated by a video capture card with closed caption
>> extraction enabled.  I think I have found evidence that suggests VLC may
>> need to detect this stream and ignore the timestamp found in the PES header
>> for these packets.
>> The MPEG generated by the video capture card using ivtv contains a Private
>> Stream 1 substream ID: 0x69 for the closed captioning data.  The PES header
>> for the packets in this stream have a timestamp that is not relative to the
>> beginning of the program.  The VLC ps.c demuxer, however, is using this
>> timestamp to update the clock and thus we get frequent clock gap errors and
>> the video is never able to be played.
>> I found a description of this problem at
>> http://videoman.giraffe-data.com/~branh/d/note/closedcap<
>http://videoman.giraffe-data.com/%7Ebranh/d/note/closedcap>and it seems to
>> match with the behavior I see in the mpeg generated by our capture cards.
>> There is already a special case in the ps demuxer for handling VCD and SVCD
>> data tracks that causes VLC to ignore the timestamp in the PES header for
>> that packet.  I believe we need to add another case to detect the closed
>> captioning data in substream 0x69.  I have already tested a fix in my local
>> branch of 1.0-bugfixes to do this and now the video is playable.  The fix
>> would have no other affect as VLC does not have a way to process the 0x69
>> substream and thus ignores the data in those packets anyway.
>> Comments?
>Do you read the closted captioning from /dev/vbi ?

We enable hardware encoding, including inserting the CC data in the MPEG
stream by the tuner device itself.  We are using a Hauppage PVR-500 tuner in
a Linux environment.

More information about the vlc-devel mailing list