From: Nick M. <kno...@gm...> - 2011-08-10 01:44:08
|
On 9 August 2011 13:23, Ben Bucksch <lin...@bu...> wrote: > Thanks, Nick, for moving this forward! Ben, Thanks for coming back with comments so quickly. I know you and others are interested in seeing things move forward. <cut snippet of xml> > That looks somewhat different to my proposal > <http://wiki.xmltv.org/index.php/LineupProposal2> > <http://www.bucksch.org/1/projects/various/xmltv/lineup.de.xml>, but OK > to me. Thanks - I referenced both existing proposals when coming up with the initial schema, and also added in some of my own (perhaps misguided - it's all new to me) ideas! > Just 1-2 important changes: > What's really important for me and users is to conceptually separate > stations (the program, what runs when) and channels (the physical > distribution, the bit stream and how it arrives). This is because in > Germany, we have number of national stations, and these are distributed > via widely different media: Analog cable TV, DVB-C, DVB-T (with > different frequences depending on region), DVB-S, and even HD and SD > versions of the exact same channel (ARD and ARD HD, same for ZDF, Sat.1, > Pro7, sky cinema etc.), in fact that's now true for the majority of the > main stations. > > However, the user, when sitting in the couch, doesn't care whether he > gets ZDF via DVB-S or, if the DVB-S device is currently recording > another show, via DVB-T. He just wants to see "Derrick", not 1.600 MHz. > That's why, in my program, the TV-watching user should only interact > with stations and channels are chosen automatically depending on device > and reception situation. > > I don't know about other countries, but in Germany and France, people > expect to see ARD when they press 1, ZDF when they press 2, etc. Same > for "France 1", France 2" etc.. They don't care which channel they are > on. The connection is so strong that the preset appears in the station > name, but the number has no relation to the tuning channel, it's just > the preset on the remote control. I think it's similar in the UK, with > "Channel 4" (which is not necessarily always on a physical channel "4"). I understand your concerns, and think that this is all possible with the current schema and the software generating a user's lineup, but not in the exact way you describe above. The key design decisions I have used in this implementation (it's not committed yet, although there is an old DTD I committed some time ago, which is ignored) are as follows: i) The root element is "xmltv-lineup" which has a "type" attribute (DTV/analog/IPTV/etc) and must contain one or more "lineup-entry" elements which contain information relevant to one item in the lineup. ii) Each "lineup-entry" element contains information relevant to its EPG position (preset, channel genre/package), the station (the broadcast content/listings link, as you describe above) and the channel (the physical tuning information). The current implementation requires the "station" element to be present (to support the minimal List type), and uses a 1:1 relationship between the "station" and optional "*-channel" element to link to the station and channel information together within the "lineup-entry" element. iii) Each "station" element contains only details of the broadcast station (BBC1, or ZDF) and a link to the XMLTV ID. It contains no information about the physical tuning details. iv) The optional "*-channel" elements contain only tuning details of each physical transmission type. A single *-channel element needs to be present for all lineup types bar the simplest - List - which just contains "station" details. v) There are other child elements not shown above in the station and channel elements that could easily be included if useful. > Logically following from all that is: > > * It must be possible to have several <dvb-channel> elements (plus > e.g. analog channel elements) for one single <station> > * <preset> and <group> are user-facing and thus for the <station>, not > channel Based on the implementation, each xmltv-lineup document is specific to a particular lineup type (DTV/analog/etc), location and TV platform. E.g. a user is asked the following questions by the grabber/lineup _generator_: a) What TV platform are you using? b) Which packages have you subscribed to on that platform c) What is your postal code/location Note that this approach means that each lineup generated is specific and does not contain extraneous *-channel elements - it is up to the lineup generator to populate the document with the correct information, rather than leave it up to the application consuming the lineup document. >> <provider-name>Provider of BBC Two England</provider-name> >> ... >> i) Add another proposal page outlining the implemented schema to see >> how useful it will be to other XMLTV grabber devs; >> > > Please note that <provider-name> is a technical attribute from the DVB > stream and cannot be made up. Please see > <http://wiki.xmltv.org/index.php/LineupProposal2#DVB_Channels> That text was hard-coded example in the example XML, as I didn't have the information in my channels.conf. Annotations in the Schema will make clear what information must be included in the element if present. >> ii) Integrating my standalone tool into tv_grab_uk_rt itself so that >> all lineup/listings generation is in a single program; > > Can we make it so that other grabbers can use it easily, too? > eu_epgdata could use it as well. The intention is to put lineup reading/writing into XMLTV::Lineup and replacing what's already there (my earlier attempt). The use of XML::Compile and a Schema means that validation is straightforward (unlike for regular XMLTV document where all validation occurs in XMLTV), and that the grabber (or other lineup generator) need only pass a data structure (typically a hashref of nested hashrefs) to XML::Lineup - much in the same way as XMLTV::Writer works now > Also, it should be possible to use external sources like those sat > frequency database websites and convert it. If there are standard sources of information, those could be added. At the moment, it relies on each grabber/lineup generator obtaining/maintaining information from online or via XMLTV::Supplement. In the case of my uk_rt attempts, I obtain information from: i) EPG lists from Wikipedia ii) station/regional channel information from supplemental files for tv_grab_uk_rt iii) DVB-T/S tuning information from my own (and crowdsourced) channels.conf files. DVB-T support for the UK will need data from as many transmitters as possible in order to determine transport-id/service-id/service-name data for channels. >> v) Look at integrating support for lineups directly within MythTV such >> that all configuration can be done in Myth's setup interface. > > Yes :) The setup process/interface for MythTV is undergoing big changes, so I'm concentrating on the other bits which need to be finished first. With analog TV ending in the UK imminently, I'm concentrating on having the DTV (DVB-S and DVB-T) and STB (Virgin/Sky/UPC Ireland) lineups working best, as this is what the vast majority of UK users will hopefully use the lineup feature for. Cheers, Nick -- Nick Morrott MythTV Official wiki: http://mythtv.org/wiki/ MythTV users list archive: http://www.gossamer-threads.com/lists/mythtv/users "An investment in knowledge always pays the best interest." - Benjamin Franklin |