File Format Comparison: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:


-----------------------------------------------
-----------------------------------------------
"Nokia" format.
Examination of "Nokia" format.


Satellite/network/transponder/channel listing.
Satellite/network/transponder/channel listing.
Line 27: Line 27:


-----------------------------------------------
-----------------------------------------------
meztler bros' libdvb XML
Examination of meztler bros' libdvb XML


Satellite/network/transponder/channel/etc listing.
Satellite/network/transponder/channel/etc listing.
Line 53: Line 53:


-----------------------------------------------
-----------------------------------------------
meztler bros' libdvb plaintext
Examination of meztler bros' libdvb plaintext


Satellite/network/transponder/channel/etc listing.
Satellite/network/transponder/channel/etc listing.
Line 77: Line 77:


-----------------------------------------------
-----------------------------------------------
satcodx
Examination of satcodx format


Channel oriented listing.
Channel oriented listing.
Line 98: Line 98:


-----------------------------------------------
-----------------------------------------------
Examination of *zap format
zap


Channel oriented listing.
Channel oriented listing.
Line 118: Line 118:


-----------------------------------------------
-----------------------------------------------
vdr sources.conf
Examination of vdr sources.conf


This gives a standard identifier to each satellite cluster as there is no other such standard IDs for them defined anywhere.
This gives a standard identifier to each satellite cluster as there is no other such standard IDs for them defined anywhere.
Line 138: Line 138:


-----------------------------------------------
-----------------------------------------------
vdr disceqc.conf
Examination of vdr disceqc.conf


This defines diseqc sequences for tuning to a particular channel.
This defines diseqc sequences for tuning to a particular channel.
Line 165: Line 165:


-----------------------------------------------
-----------------------------------------------
vdr channels.conf
Examination of vdr channels.conf


Channel definitions.
Channel definitions.
Line 222: Line 222:
e.g. say you have 1 DVBS(Sirius 2/3), 1DVBS(Eutelsat W3), and 1DVBT(uk), the file could contains entries such as:
e.g. say you have 1 DVBS(Sirius 2/3), 1DVBS(Eutelsat W3), and 1DVBT(uk), the file could contains entries such as:


<pre>
# <adapterid> <source1>...
# <adapterid> <source1>...
0 S5E
0 S5E
1 S7E
1 S7E
2 TUK
2 TUK
</pre>


Multiple source ids (as per VDR sources.conf) can be specified for each adapter so that multiswitches supporting more than one dish are supported. The diseqc commands necessary would be stored in diseqc.conf.
Multiple source ids (as per VDR sources.conf) can be specified for each adapter so that multiswitches supporting more than one dish are supported. The diseqc commands necessary would be stored in diseqc.conf.

Revision as of 21:55, 14 June 2005

Comparison of existing DVB file formats.



Examination of "Nokia" format.

Satellite/network/transponder/channel listing.

Example:

:SAT "Astra" 19.2 E
:NET "Canal Sat
:TRP 1074 1189500 275000 1 V 0 3/4
:CHN "Canal Sat
:CHN "Hit List" 29461 R
  • Can only represent DVBS.
  • From libdvb - cannot find other examples.
  • Can be edited in a text editor.
  • Easy to parse.
  • Appears to be the format used by an unknown nokia receiver (?)
  • May not be the same across all nokia devices.



Examination of meztler bros' libdvb XML

Satellite/network/transponder/channel/etc listing.

Example:

<?xml version="1.0"?>
<satellite>
<transponder type="S" freq="11817000" srate="27500000" polarity="V" >
<service id="8001" ca="1">
<description tag="0x48" type="1" provider_name="CANALSATELLITE" service_name="S$
<ca_descriptor tag="0x09" system_id="0x0500" ca_pid="2" />
<ca_descriptor tag="0x09" system_id="0x0500" ca_pid="5" />
<stream type="198" pid="1251">
</stream>
</satellite>
  • Can represent all FE types.
  • Extensible
  • Can be edited in a text editor, but XML reduces clarity.
  • Easy to parse, but requires XML parser.



Examination of meztler bros' libdvb plaintext

Satellite/network/transponder/channel/etc listing.

Example:

LNB ID 2 TYPE 0  LOF1 9750000 LOF2 10600000 SLOF 11700000 DISEQCNR 2
  SAT ID 3592 NAME "Thor 2,3          " LNBID 2 FMIN 10700000 FMAX 12700000
    TRANSPONDER ID 0001 SATID 3592 TYPE 0 FREQ 11229000 POL H SRATE 24500000 FEC 7/8
      CHANNEL ID 0 SATID 3592 TPID 1 SID ca TYPE 0 VPID 2bc APID 2bd ANAME "eng" TTPID c9 PCRPID 2bc
      CHANNEL ID 1 SATID 3592 TPID 1 SID cb TYPE 0 VPID 200 APID 280 TTPID 240
      CHANNEL ID 2 SATID 3592 TPID 1 SID cd TYPE 0 VPID 258 APID 259 TTPID cb
      CHANNEL ID 3 SATID 3592 TPID 1 SID 196 TYPE 0 VPID 384 APID 385 TTPID 12d
  • Can represent all FE types.
  • Exact meaning of some values unclear.
  • Extensible.
  • Easy to edit in a text editor.
  • Easy to parse.



Examination of satcodx format

Channel oriented listing.

Example:

SATCODX103PANAMSAT 9        TDIC10037200001USA Amer3020PAN009CA______195103000000000000000030000100001ESP__________ica Latina  
SATCODX103PANAMSAT 9        TDIC10037200001Cino Lat3020PAN009CA______195103000000000000000040000100001ESP__________ino         
SATCODX103PANAMSAT 9        TDIC10037200001Exa TV  3020PAN009CA______195103000000000000000050000100001ESP__________            
SATCODX103PANAMSAT 9        TDIC10037200001Hallmark3020PAN009CA______195103000000000000000060000100001ESP__________ Channel Mex
SATCODX103PANAMSAT 9        TDIC10037200001MVS Empr3020PAN009CA______195103000000000000000070000100001ESP__________esarial     
  • Likely can only be able to represent DVBS.
  • Not easily editable.. or understood :)
  • Easy to parse.
  • Not extensible.



Examination of *zap format

Channel oriented listing.

Example:

BBC Radio 1:658166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6210:14336
BBC Radio 2:658166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6226:14400
BBC Radio 3:658166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6242:14464
BBC Radio 4:658166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6258:14528
  • Can represent all FE types - but exact FE type is not encoded in the file.
  • Easily editable and understood.
  • Easy to parse.
  • Not easily extensible - you can keep adding on more stuff at the end, but this reduces clarity a great deal.



Examination of vdr sources.conf

This gives a standard identifier to each satellite cluster as there is no other such standard IDs for them defined anywhere.

Example:

S5E     Sirius 2/3
S7E     Eutelsat W3
S10E    Eutelsat W1R
S13E    Hotbird 1-(5)-6
S16E    Eutelsat W2
  • Easy to parse
  • Extensible (e.g. to -C and -T)



Examination of vdr disceqc.conf

This defines diseqc sequences for tuning to a particular channel.

Example:

S19.2E  11700 V  9750  t v W15 [E0 10 38 F0] W15 A W15 t
S19.2E  99999 V 10600  t v W15 [E0 10 38 F1] W15 A W15 T
S19.2E  11700 H  9750  t V W15 [E0 10 38 F2] W15 A W15 t
S19.2E  99999 H 10600  t V W15 [E0 10 38 F3] W15 A W15 T

To find the diseqc sequence for a channel, find the source_id, the frequency, and the polarity. Using those, the entries in diseqc.conf are searched for a matching entry. When found, the associated command string is executed.

Command string example: S19.2E 11700 V 9750 t v W15 [E0 10 38 F0] W15 A W15 t

This matches channels which are from S19.2E, are less than 11700 frequency, V polarity. When matched, it says subtract 9750 from the base frequency, and execute the following diseqc sequence: turn the tone off, 13v, wait 15ms, send a disqec master command, wait 15ms, send tone burst A, wait 15 seconds, turn tone off.

  • Very extensible.
  • The nicest diseqc representation seen so far.
  • Easily editable and understood.



Examination of vdr channels.conf

Channel definitions.

RTL Television,RTL;RTL World:12187:hC34:S19.2E:27500:163:104=deu:105:0:12003:1:1089:0
SAT.1;ProSiebenSat.1:12480:vC34:S19.2E:27500:1791:1792=deu;1795=deu:34:0:46:133:33:0
Sky News;BSkyB:11597:vC56:S19.2E:22000:305+131:306=eng:0:0:28707:1:1026:0
  • Can represent all FE types.
  • Derived from zap format.
  • Hard to parse.
  • Hard to extend without adding more complexity.
  • Not easy to understand.
  • Editable in text editor.



Ideas for a new channel file format.


An initial idea for channels:

:DVBCHANNELS-0.1

:TRANSPONDER <source_id> <DVBT|DVBC|DVBS|ATSC> <transport_stream_id> 
<original_network_id>
fe <frequency> <polarization> <inversion> <symbol_rate> <fec_inner> # DVBS
fe <frequency> <inversion> <symbol_rate> <fec_inner> <modulation> # DVBC
fe <frequency> <inversion> <bandwidth> <code_rate_hp> <code_rate_lp> <constellation> <transmission_mode> <guard_interval> <hierarchy_information> # DVBT
fe <frequency> <inversion> <modulation> # ATSC

:CHANNEL <program_number> <order_in_channels_list> <group_id>
name <name>
shortname <shortname>
ca <id> <id> ...
es <pid> <type> [<language>] [pcr]
.... (additional es entries)
  • Use VDR diseqc.conf and sources.conf as-is, but with a redesigned channels file format.
  • Keep file format as simple as possible, with just as much information as needed.
  • Any other information can be retieved using the DVB library and parsing PMTs etc.
  • es entries are not strictly necessary as all information can be derived from the PMT once you have the program_number. However, it is useful to store these to accelerate channel changing speed.
  • <type> in ES is one of the codes defined in the ISO 13818-1 for elementary streams in PMT tables.



Ideas for an adapter configuration file format.

This file would describe the mapping from DVB adapters in a machine to sources.

e.g. say you have 1 DVBS(Sirius 2/3), 1DVBS(Eutelsat W3), and 1DVBT(uk), the file could contains entries such as:

# <adapterid> <source1>...
0 S5E
1 S7E
2 TUK

Multiple source ids (as per VDR sources.conf) can be specified for each adapter so that multiswitches supporting more than one dish are supported. The diseqc commands necessary would be stored in diseqc.conf.

When an application is asked to tune to "Channel9" on S7E, it can look up which adapters support this channel, and can choose an appropriate one, or reject the attempt.