[mythtv] Re: Adding DVB-T support to MythTV

Richard King rak at cs.man.ac.uk
Tue Mar 18 16:31:36 EST 2003

I sent this last night but it got caught up waiting for moderator 
approval so I cancelled the message, subscribed and sent it again.

Because of the delay getting to the list its repeating some of the things 
other people have already said, sorry.
> Hi James,
> I've been looking into getting MythTV to support DVB cards for some time. 
> Unfortunately I don't think its anywhere near as easy as it might first 
> appear.
> I plan to start working on this support when I finish uni this summer but 
> until then I haven't really got time. 
> Some main points to look at:
> 1) DVB cards don't use the Video4Linux API. There is some compatibility 
> especially with the full featured cards but not really with the budget 
> cards AFAIK. For PVR purposes i think the budget cards are better though 
> because they give you full access to the channel multiplex.
> The compatibility mentioned on the full featured cards works by using a 
> video4linux driver to capture the decoded MPEG stream. Using this 
> requires myth to reencode the data. (very wasteful)
> You will have to add the DVB api support to MythTV if you want to do 
> this properly
> 2) The budget cards don't tend to do any demultiplexing (the Hauppauge 
> doesn't) so you will have to integrate a MPEG-TS demultiplexor at the 
> recording stage. This needs to be able to determine which of the element 
> streams contain the video and audio streams for the channel you want to 
> watch. This will need database modifications in myth.
> 3) the DVB channel format is not like analogue tv. You will either have to 
> specify an external command to change the channel (dvbtune i think is the 
> command IIRC) or change mythtv's database to accomodate the extra 
> values.
> 4) You will either have to write code to put the MPEG element streams into 
> the NUV files or add support for native MPEG files in MythTV. Possible 
> issues with Timesyncing and seeking.
> 5) You will have to add MPEG-2 video decoding and possibly MPEG-2 Audio or 
> AC3 decoding to the playback side of Myth. This is all supported in 
> libavcodec (i think) so shouldn't be too hard.
> The files you need to concentrate on for DVB support are libmythtv/Nuppel* 
> which currently handle the encoding/decoding. I don't think you have to 
> worry about the EPG transparancy issues etc. Adding DVB support shouldn't 
> affect these areas too much.
> I think that if you take the quick and dirty hack route then it will be 
> possible to integrate basic DVB fairly easily by using existing command 
> line tools and just piping the data into myth. To support DVB properly 
> though, will take a lot more work. Myth will certainly benefit from 
> someone performing this work because DVB is becoming the only way to see 
> most of the channels in Europe and is broadly the same as the American 
> digital ATSC AFAIK so a good framework will support both.
> As I said when I finish uni i will certainly look at it as its something 
> that really interests me, though I'm not really a programmer so don't hold 
> your breath. My plan is a fairly substaintial (stage by stage) overhaul of 
> Myths recording and playback routines. Anyway that is for later.
> Don't take anything I've said as gospel, I'm not either a Myth or DVB 
> hacker only someone who is interested in becoming one in the future, I may 
> well be wrong with some of the things I've said.
> Good luck
> Rick King
> A PS to Isaac and the rest of the Myth team: Thanks for all your great 
> work.
> On Fri, 14 Mar 2003 jng_junk at greenmail.demon.co.uk wrote: 
> > I've just bought a (budget) DVB-T card. I've had success using it from 
> the 
> > command line and now want to do more with it. I've had a look at MythTV 
> > and like the look of it. I would like to volunteer to add DVB-T support 
> to 
> > MythTV, but I think I'm going to need some help to get started. 
> > 
> > With it being a budget card you have to do all the mpeg decoding in 
> > software, although potentially with the assist of your graphics card. I 
> > was wondering if anybody could give me some brief pointers on the 
> > structure of the source code to MythTV, and where I might hook in my 
> > replacement video code. The DVB-T card effectively gives you a /dev/... 
> > file that you can read directly as an MPEG stream. So I'm going to have 
> to 
> > take this and hook it into whatever MythTV is using already. 
> > 
> > Things I need to know are how the current video code works in MythTV 
> and, 
> > how the overlays work in MythTV (eg. how the EPG stuff is done on top of 
> > the video, and how it is done semi-transparently)? 

Richard King
E-mail: rak at cs.man.ac.uk

More information about the mythtv-dev mailing list