On Sun, 2007-02-18 at 13:59 +0100, Dirk Meyer wrote:
> In a perfect world you would configure basic stuff for the tvserver:
> where to store recordings and what epg grabber you want to use. After
> that start the server. Freevo will show no channels since there are
> none.

In a perfect world this would be plug and play.  Unfortunately that's
just not possible, so our goal should be to ask the user for the minimum
possible, and when we need to compromise on that goal, make sure we do
so intelligently.

Even asking the user to configure what EPG grabber to use might be
unnecessary.  Ideally it'd be nice to just ask the user what country
they're in, and what tv provider they're using.  In practice this may be
a bit limiting and difficult to implement right.  So a configuration
interface (which I still see as a web UI) could present the user with a
list of options and a spot for a description and source-specific
configuration, which gets filled in when the user selects the guide
source:

         Select your TV guide data source:
           (o) zap2it (North America)
           ( ) epgdata.com (Germany)
           ( ) xmltv (All others locations)
        
          |  Zap2it.com provides free TV guide data to residents in  |
          |  Canada and the United States.  Please ensure you have   |
          |  created an account at labs.zap2it.com and specify the   |
          |  account's credentials below:                            |
          |        Username: [_____________________]                 |
          |        Password: [_____________________]                 |

Because with zap2it you configure via your account which channels you
want included in your lineup, from Freevo's perspective the above
interface is all you'd need.  The generic xmltv source would be the
hardest to deal with, and would probably require a sample first in order
to figure out what to ask the user.


> Now start the tvdev. It will notice the tv cards and that no
> configuration is done yet (1). It will start scanning (2). When
> finished it will report the channels to the tvserver. Now the tvserver
> has channels without epg. It will start the epg grabbing by itself to
> download the information (3) (4) (5).
> 
> 
> (1) This should be easy. Scan /dev/dvb and /dev/video* and we should
>     get the information we need.

Depends what information you're gathering here.  If it's just discovery
of hardware, ok.  But I don't think you can rely on much else.

> (2) More tricky. We need some initial tuning data.

Right, this will have to be asked of the user during the configuration
process.  For example I would need to configure that I am capturing from
an external tuner via the svideo input, and also configure the location
to the channel changing script.  (Ideally Freevo would handle changing
channels directly, and would also be a configurator for lirc, but this
is something we should defer for a future release IMHO.)


> (3) To do that we may need to configure the grabber. It is easy for
>     our, but I guess all xmltv parser are a bit different. We need to
>     configure the grabber to include all channels we have.

Yeah.  The xmltv case is tricky and I'm not sure how to handle it.


> (4) We need a mapping to match analog channel ids or dvb names to the
>     channel names the grabber uses. How?

I think this is really the crux of the problem, right?  I don't know how
the DVB case should work.  Won't dvb names be included in the xmltv
data?  Aren't the analog channel ids stored in the xmltv data too?

If the data is there but there's no reliable way of determining it, we
can maybe make some guesses (based on different algorithms) and then
have the user pick the right one, and then just apply that algorithm to
the rest of the channels.


> (5) This may include different grabber. Maybe I have channels not in
>     the xmltv grabber, I would need to use dvb information for this
>     channels.

No answers for the DVB stuff.  I don't have DVB and am pretty ignorant
of it.


> The only idea I have are that the epg needs to have the following
> information:
> 
> o List of all channels available in all grabber. The grabber have a
>   priority so we have one grabber getting us data for a channel.

Don't you mean the list of channels that are available in the
specified/configured grabber?  How could you get a list of channels from
an unconfigured grabber?


> o A grabber needs to have an interface to tell what channels to
>   get. So a basic xmltv grabber is of no use. We need support for each
>   grabber so we can configure the grabber and match our channel name
>   to the grabber channel name.

What is "our channel name"?  Do you mean the channel id we need for
purposes of tuning the capture card?

I think for xmltv we can, at least for now, push the configuration onto
the user.  We'll have the best support for the native kaa.epg sources.  


> How does zaptoit work? 

I don't think it deals with DVB at all.  It maps stations to channel
numbers separately.  e.g.

        <station id='10036'>
        <callSign>ARTSC</callSign>
        <name>Arts &amp; Entertainment Canada</name>
        <affiliate>Canadian Satellite</affiliate>
        </station>
        
        <map station='10036' channel='270' from='2005-03-30'/>

So from our perspective you know that the tuner needs to be set to
channel 270 for this station.


> What grabber (besides xmltv) are out there?

I don't know, but I think xmltv is really the best show in town in terms
of coverage.  So I think we should try to support the popular grabbers
natively, and fall back to xmltv for everything else.

Jason.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to