[mythtv] Slave backend using different encodings specs

Edward Wildgoose Edward.Wildgoose at FRMHedge.com
Tue Mar 25 18:48:19 EST 2003


> > >This is more or less what I was suggesting; I'm not sure that it makes
> > >sense to do it in every case, as a complete additional layer of
> > >indirection, however.
> > 
> > Yeah, adding a layer of indirection sounds like more goo but it would be
> > fairly simple and add a lot of flexibility. I can imagine a three column
> > table that holds the profile label number, The class name and the
> > codecparams number. The 'record" table profile and codecparams profile
> > fields would be unaffected by this (but some renaming may be in order ;-).
> 
> Now imagine a UI for making changes to this table. :-)

I may have missed the point, but it therefore appears that the levels of indirection are as follows:


1) Bunch of cards in a backend machine

2) That backend machine has a series of defined recording profiles, (possibly some profiles tied to specific cards).  Record profiles are things like codec (MPEG4/rtjpeg), bit rate, filters (de-interlace, denoise, other fancy stuff).  [This is basically pretty much what we have already]

3) The frontend machine sees a series of myth backend boxes plus allowed recording profiles for each backend.  *Optionally* there is an arbitrarily complicated algorithm with AI to prefer certain backends, rotate between them, and schedule timing in order to achieve maximum quality for a given series of recordings..... (non trivial at the limit, I think)

However, 3) is much easier if we ditch the AI and do something simple, eg there is a default quality for a) live tv, and b) recorded programs.  The UI then also offers the "advanced" option to choose a quality when scheduling program recording - the simple way to handle this is to get the user to specify exact names for profiles on specific machines - equivalence of profiles across backends is NOT defined.

However, there are a range of incrementally complicated ways to handle equivalence of recording profiles across backends, ie so you can specify recording two programs at high quality and it figures out which backends are available that can do "high quality".  

The easiest (that I can think of) is to have a fixed number of profile names, eg "High", "Medium" and "Low" on each backend.  You are therefore editing three profiles on each backend to select your appropriate settings for each (ie one machine may well have different "high" settings to another).  Any backend offering "high" quality is considered equivalent to any other (although results may obviously vary).  The Recording Conflicts screen would then be used to handle resolution of events where you have scheduled too many "High" quality recordings, but there may be free "Medium" quality slots to fall back to.

I think this scenario handles what people were requesting?  I think it is basically just an extension to the Recording Profiles option that already exists in the backend, but with some functionality in the Frontend to choose recording options?

For me I would mainly love to be able to have different quality for live tv versus recorded TV (ie have very high quality live tv).  And I can image wanting to use lower quality for certain programs than others. 

Does that get us anywhere?



More information about the mythtv-dev mailing list