The "FreeSat Home" transponder is the interesting one (transport stream ID 2315). This is located at 11.428GHz Horizontal, with a symbol rate of 27500 and FEC 2/3. PID 3002 on this transponder transmits a bouquet association table (BAT).
For each transport stream, there is an entry in the BAT, containing a descriptor tag 0xd3 and an associated lump of data. The data is a set of variable length chunks concatenated together, with each chunk containing a length value so the offset of the next chunk can be calculated.
The chunk format appears to be:
| Offset (octets) | Length (bits) | Description | 
|---|---|---|
| 0 | 16 | Service ID | 
| 2 | 16 | Unknown | 
| 4 | 8 | Length of remainder of the chunk | 
| 5 | 4 | Unknown | 
| 5 + 1 nybble | 12 | Local channel number | 
| 7 | Variable | Unknown | 
I haven't been able to figure out how the channels are selected by region - for example, local channel number 101 is allocated to BBC 1 London if you're in London, BBC 1 Wales if you're in Wales, etc. but I haven't found this information in the BAT yet. Compare:
| BBC One London | BBC One West | |
|---|---|---|
| Service ID | 18 9d (6301) | 18 c5 (6341) | 
| Unknown 1 | 81 f9 (33273) | 82 01 (33281) | 
| Size | 08 (8) | 08 (8) | 
| Unknown 2 | d (13) | d (13) | 
| LCN | 3 b6 (950) | 3 c5 (965) | 
| Unknown 3 | ff ff f0 6c 00 00 | ff ff f0 6c 00 00 | 
Edit: "Unknown 2", "LCN" and "unknown 3" appears to be an array mapping LCNs to regions:
| ITV 1 London | ITV 1 Granada | |
|---|---|---|
| Service ID | 27 4c (10060) | 27 60 (10080) | 
| Unknown 1 | 83 f3 | 83 f2 | 
| Size | 18 (24) | 0c (12) | 
| Unknown 2 | d (13) | d (13) | 
| LCN | 067 (103) | 067 (103) | 
| Region | 00 01 | 00 07 | 
| Unknown 2 | d (13) | d (13) | 
| LCN | 067 (103) | 067 (103) | 
| Region | 00 12 | 00 27 | 
| Unknown 2 | d (13) | d (13) | 
| LCN | 067 (103) | 067 (103) | 
| Region | 00 1b | 00 2b | 
| Unknown 2 | d (13) | |
| LCN | 067 (103) | |
| Region | 00 1f | |
| Unknown 2 | d (13) | |
| LCN | 067 (103) | |
| Region | 00 26 | |
| Unknown 2 | d (13) | |
| LCN | 3d1 (977) | |
| Region | ff ff | 
Descriptor 0xd4 in the BAT seems to translate the 16 bit region IDs into human readable strings (is it me, or does 16 bits sound a bit excessive for region IDs?)
 
No comments:
Post a Comment