[mythtv] How to burn DVDs with NTSC closed captions

faginbagin mythtv at hbuus.com
Sat Jan 19 05:37:32 UTC 2008


I frequently share recordings with family & friends and am trying to 
figure out how to burn DVDs that have NTSC closed captions.

FWIW, I'm a *nix/C++/Java developer with 20+ years experience. What I 
don't have is a background in streaming data protocols. But I've always 
been a fast learner, so if it can be done, I think I can figure it out. 
And I promise, if I can figure out how to create DVDs with closed 
captions, I will do whatever it takes to share my work and support it.

Here are details on my mythtv setup:
ECS RS482-M754 motherboard
AMD Sempron 3100+ 32 bit CPU
1GB RAM
Hauppauge WinTV-PVR-150 model 1045 with IR blaster & receiver
Biostar graphics card with an nVidia Geforce 7300 LE GPU
Two HDDs, 80GB (the O/S) & 500GB (dedicated to videos)
500W PSU
IDE CD burner
SATA DVD-RAM burner
Ubuntu gutsy 7.10
mythtv-0.20.2 and mythplugins-0.20.2
mythbuntu control centre 0.10-0ubuntu1.1

I know I'll need to have a trunk environment if I want to give back 
anything I do.

I think I've figured out a few things:
- mythfrontend/mythvideo can extract and display EIA-608 closed caption 
data embedded in the video stream of recordings made by a Panasonic DVD 
recorder and imported into mythtv.
- mythbackend (with the help of ivtv) creates mpeg2 files that contain 3 
streams: video, audio and data.
- mytharchive/mythburn strip out the data stream when they assemble the 
contents for DVD burning.

I assume the stripped out data stream contains the closed captions. I 
assume that data stream is created as a result of the sliced VBI ioctls 
done in libs/libmythtv/mpegrecorder.cpp

The kernel documentation for the ivtv driver 
(Documentation//video4linux/README.ivtv) has the following comments:

  * Supports raw VBI (closed captions and teletext).
  * Supports sliced VBI (closed captions and teletext) and is able to 
insert this into the captured MPEG stream.

The same file also says that /dev/vbi0:

Captures the raw (or sliced) video data sent during the Vertical Blank
Interval. This data is used to encode teletext, closed captions, VPS,
widescreen signalling, electronic program guide information, and other
services.

Until I saw that statement, I was hopeful that the term "raw VBI" had 
something to do with EIA-608, but I guess not.

So here are my questions:

1) Is the Hauppauge PVR-150 capable of generating mpeg2 streams that 
contain EIA-608 encoded closed captions?

2) If so, does the ivtv driver support it? If not, does anyone know if 
there are plans to add it to the ivtv driver?

3) If so, does the trunk version of mythtv use that support? If not, I'm 
willing to do the work if it's possible, but would welcome any pointers 
to get started.

I realize questions 1) & 2) can probably be best answered by the ivtv 
driver team, but I thought perhaps the mythtv development team might 
already know the answers.

4) If the answers to the above questions are essentially no, that I 
can't get mpeg2 recordings with EIA-608 embedded, then it would seem my 
last hope is some form of transcoding. The goal would be to take an 
mpeg2 recording with video,audio,data stream, then convert the data 
stream into eia-608 and embed into the video stream. Is that possible?

5) Is there a tool or library that already does the above?

6) I'd really like to understand how NTSC/ATSC closed captioning and PAL 
teletext work. Since it seems the specs on this stuff would cost big 
bucks, I'm guessing my best bet is to read the code and try to figure it 
out that way. I'm getting lost and would welcome some tips on which 
files have what I'm looking for. So, which source files would it be most 
helpful for me to understand?

Thanks in advance



More information about the mythtv-dev mailing list