LineupProposal2

From XMLTV
Revision as of 21:24, 17 August 2009 by Benb (Talk | contribs)

Jump to: navigation, search

During setup of a TV (recording) system, it is not only necessary to find channels by a channel scan, but also to properly name and sort the channels, and to assign the RCF2838-IDs, which associate the station to schedule information from XMLTV. This file format provides this information.

It is separate from the scheduling (programme) information in the XMLTV XML format.

Structure

This format used "channel" different from the XMLTV DTD.

  • A "station" is defined by the programmes, the content of the media. E.g. "BBC 1" is a station, and it airs the BBC news show at 8 PM. This is what the XMLTV file content describes.
  • A "channel" is a technical means to transmit the station's broadcast.

E.g. The DVB-T channel in Cologne on frequency 129050000 Hz, with service ID 1802, is a channel, and the analog PAL channel E51 in Cologne is a different channel. But both may transmit the same station: BBC1.

It is very common for one station to be transmitted on many different channels, sometimes several received by the same TV system (e.g. one via DVB-T and one via DVB-C or DVB-S). Similarly, there are stations which are transmitted as HDTV and as SD, with the same content (apart from technical quality) - these are also different channels for the same station.

We separate the problem into two parts:

  1. Identify a channel (which we found during scan) as a certain station (by its RFC2838 ID).
  2. Get metadata about a station, like long and short display names, logo, and the default preset number.

The <*-channel> elements do the first, the <station> elements do the latter.

Definition

XML structure

<lineup>
  <stations>
    <station rfc2838id="zdf.de">
      <long-name>ZDF</long-name>
      ...
    </station>
    <station rfc2838id="1.bbc.co.uk">
     ...
    </station>
    ...
  </stations>
  <channels>
    <dvb-channel rfc2838id="zdf.de">
      <dvb-id network="1" service="28006" transport="1079"/>
      ...
    </dvb-channel>
    ...
    <analog-channel rfc2838id="1.bbc.co.uk">
      <cni tt-8-30-1="0x447F" />
    </analog-channel>
    ...
  </channels>
</lineup>

TODO better word for "lineup"? At least define what the word "lineup" means.

Stations

<station rfc2838id="zdf.de">
  <long-name>ZDF</long-name>
  <short-name>ZDF</short-name>
  <preset>2</preset>
  <logo url="zdf.gif"/>
  <group>oeff-rechtl</group>
  <commercial-free>true</commercial-free>
</station>

Long name (mandatory): The display name of the station, as shown to the user - long version. This is not necessarily the official legal name of the station, but a name that people find nice in unambiguously identifying the station. Should be used in places in the UI where display space is not short.

It should be no longer than 30-50 characters. Spaces are allowed. May contain UTF characters.

Short name (mandatory): The display name of the station, as shown to the user - short version. A name that people find nice in unambiguously identifying the station, but at the same time short. To be used in places in the UI where display space is short.

Must not be longer than 10 characters (hard limit). Spaces are allowed. Ideally <= 5 characters. Ideally, only characters A-Z, 0-9 and space are used.

preset (optional):

The number that the user keys in on the remote control to change to this station. Also used for sorting channels, where channels are listed. This allows

  • to put the most important channels first
  • to adhere to local conventions, e.g. BBC1 is expected on button 1 in the UK, while German users expect ARD on 1 and ZDF on 2.
  • to create a logical order (e.g. news stations together, kids stations together, or a certain pay-TV bouquet together).

This is also useful for satellite users (e.g. Astra in Europe) which receive >1000 channels, but 98% of them are essentially 'spam'.

This element may be omitted, in which case the channel is to be put after the channels with a preset.

This element only gives a default preset. A user should be able to easily change it at will (in a configuration/setup program), and the user's choice must be preserved over the choice here. TODO what to do when the presets here are re-arranged, and a new channel has the same preset that the user assigned to another channel? Find first free channel after the assigned one? Can get complicated, esp. on the next change after that.

DVB Channels

<dvb-channel rfc2838id="zdf.de">
  <dvb-name provider="ZDFvision" service="ZDF"/>
  <dvb-id network="1" service="28006" transport="1079"/>
  <encrypted>false</encrypted>
</dvb-channel>

Analog channels

Analog US

<analog-channel rfc2838id="1.bbc.co.uk">
  <callsign>BBC1</callsign>
  <frequency number="E51" system="NTSC-M" />
</analog-channel> 

Analog EU

<analog-channel rfc2838id="1.bbc.co.uk">
  <cni tt-8-30-1="0x447F" />
</analog-channel>

cni (optional)