ChanSort
ChanSort copied to clipboard
Possible to include support for Vantage HD-6000S channel lists?
Hi everyone and thanks for this great piece of software.
I'd like to know if someone here recognizes the file format of channel list files with .SI extension and a file header "intekdgt" (Intek Digital). This file is a channel list saved on a Vantage HD-6000S receiver. Unfortunately, the company seems to have closed recently and one cannot get the original channel editor any longer.
Maybe we can build support for these files into ChanSort somehow?
Thanks in advance for your help.
Reverse engineering a binary data format is quite a lot of work and error prone. Having that said, this particular file format does not seem overly complicated and could possible be supported. For that however, I need some more information on how that receiver works. Can you manually reorder channels on the receiver, and if so, does it require you to have continuous numbers or can you for example skip some numbers and set one channel to number 10000? Does the receiver support favorite lists and if, how many and how numbers work inside those lists (can channels have their own order and numbers in those lists or are they implicitly ordered by the channel's program number?)
It would be very helpful if you could send me a 2nd file with channels 1 and 2 swapped and a few channels added to favorites ... and maybe some with special user-flags like "skip", "parental lock", "hide" if the receiver supports those in the menu.
Hi PredatH0r, because I am still using this unsupported receiver I had a second look into the channel files today. Maybe I can do the plugin for ChanSort by myself. Can you point me to a plugin that is similar and reads binary files?
It contains files
01-Ausgangsliste-Channel 26-12-2020.si
Original channel list
Modified_01-Erster_und_zweiter_Programmplatz_getauscht-Channel 26-12-2020.si
The original list edited with a hex editor - program 1 and 2 where manually swapped with the hex editor.
Modified_01_02_Gespeichert_vom_Receiver_Channel 26-12-2020.si
The modified list was imported into the receiver and then saved to this file on the receiver.
Manual editing of .si file and resorting channels
This seems to work. The receiver loads the edited channel list and shows programs 1 and 2 swapped.
Here is a superficial analysis of the binary format:
Vantage HD 6000 S .si file analysis
Magic Bytes: "INTEKDGT" at position 0x00
Possible checksum (CRC32?) at position 0x08 Is not taken into account by receiver and needs not to be correct if it is a checksum.
Satellite list
Satellite list starts at position 0x00002950 with the first satellite First index at position 0x0000295c (0x00) Name of the satellite 0x00002960 - 296f (length 16 bytes)
Channel list
Channel list starts at position 0x00004edc with the first program of the channel list.
Position in the channel list corresponds to program list of the receiver.
Program record is 16 bytes long (first program 0x4edc-0x4efb)
There is no index. The order of the programs determines the position The program name starts at position 17 Sometimes the program name starts at position 18 and starts with 0x05 (special case) 0x01 (special case, see "Kaufbei.tv")
If a program is moved to the very back of the channel list (arte program position 1 to position 350), then the channel ranks before the radio programs
Radio list
Radio list starts at position 0x000074FC
Favorites (TODO)
Favorites list? Starts at 0x000a12dc mit “HD” 0x000a1610 mit “Sport” 0x000a1944 mit “Film” 0x000a1c78 mit “Musik” 0x000a1fac mit “Einkaufen” 0x000a22e0 mit “Kinder” 0x000a2614 mit “Erwachsene” 0x000a2948 mit “Bildung” 0x000A2C7C mit “Drama”
At position A2FB3 an unknown table starts (TODO?)
At position AEB30 there is a list of operators (TODO?)
The ChanSort.Loader.SilvaSchneider is based on a simple binary file format where the records are physically reordered (rather than changing a programNr value inside the records).
To create your own loader, I think you need to disable compilation of the "ChanSort" project, because it requires a license for the UI components. But it is sufficient to just drop your compiled ChanSort.Loader.Vantage.dll file in a folder where you have an executable ChanSort.exe (or copy ChanSort.exe into your bin/Debug/x86 directory)
btw, the Channellists.zip you attached has a size of 0 bytes.
Thanks for the info! I will have a look into this.
Hmm.. When I click on https://github.com/PredatH0r/ChanSort/files/5743077/Channellists.zip it has a length of 63131 bytes. Interesting. Here is a second upload: Channellists.zip
This one works fine now. thx!
As to the channel names starting with 0x05 and 0x01 ... The DVB specification defines various ways of how channel names can be encoded. The first byte may indicate a certain code-page or encoding to be used for the rest of the name. There may also be control characters inside the name e.g. for "start/stop" capturing characters for short-name where parts of the full channel name are then used as the short channel name to be displayed in the corner of the TV while zapping. See https://www.etsi.org/deliver/etsi_en/300400_300499/300468/01.11.01_60/en_300468v011101p.pdf Annex A
The ChanSort.Api/Utils/DvbStringDecoder class can decode these byte sequences into long and short name with proper code page selection.