Hallo Leute,
da ich das hbbtv Thema sehr spannend finde, beschäftige ich mich zurzeit ein wenig mit der Umsetzung für einen vdr. Es braucht erst einmal zwei Dinge:
1. einen Browser der die ce-html Seiten mit hbbtv-extensions anzeigen kann (rudimentärer Ansatz siehe hier Internetbrowser für hbbtv ),
2. einen Plugin, dass die URLs aus dem DVB Datenstrom filtert.
Im Prinzip ist es recht einfach an die URLs z.B. mit dvbsnoop zu kommen, siehe z.B. hier http://www.i-have-a-dreambox.c…ostid=1424203#post1424203
Beispiel mit dvbsnoop:
Guess table from table id...
AIT-decoding....
Table_ID: 116 (0x74) [= MHP- Application Information Table (AIT)]
Section_syntax_indicator: 1 (0x01)
reserved_1: 1 (0x01)
reserved_2: 3 (0x03)
section_length: 850 (0x0352)
test_application_flag: 0 (0x00)
application_type: 16 (0x0010) [= subject to registration with DVB]
reserved_3: 3 (0x03)
Version_number: 7 (0x07)
Current_next_indicator: 1 (0x01) [= valid now]
Section_number: 0 (0x00)
Last_section_number: 0 (0x00)
reserved_4: 15 (0x0f)
common_descriptors_length: 0 (0x0000)
reserved_5: 15 (0x0f)
application_loop_length: 837 (0x0345)
organisation_id: 19 (0x00000013)
appliction_id: 2 (0x0002) [= unsigned applications]
application_control_code: 2 (0x02) [= PRESENT]
reserved: 15 (0x0f)
application_descriptor_loop_length: 63 (0x003f)
MHP_AIT-DescriptorTag: 2 (0x02) [= Transport protocol descriptor]
descriptor_length: 30 (0x1e)
protocol_id: 3 (0x0003) [= Transport via HTTP over the interaction channel]
transport_protocol_label: 0 (0x00)
URL_base_length: 25 (0x19)
URL_base: "http://itv.ard.de/ardepg/"
URL_extension_length: 0 (0x00)
URL_extension: ""
MHP_AIT-DescriptorTag: 0 (0x00) [= Application descriptor]
descriptor_length: 9 (0x09)
application_profile_length: 5 (0x05)
application_profile: 0 (0x0000)
version.major: 0 (0x00)
version.minor: 5 (0x05)
version.micro: 0 (0x00)
service_bound_flag: 0 (0x00)
visibility: 3 (0x03) [= application visible to user and appl. listening api]
reserved: 31 (0x1f)
application_priority: 5 (0x05)
transport_protocol_label: 0 (0x00)
MHP_AIT-DescriptorTag: 1 (0x01) [= Application name descriptor]
descriptor_length: 7 (0x07)
ISO639_language_code: deu
application_name_length: 3 (0x03)
application_name: "EPG" -- Charset: Latin alphabet
MHP_AIT-DescriptorTag: 21 (0x15) [= reserved to MHP]
descriptor_length: 9 (0x09)
----> ERROR: unimplemented descriptor (MHP_AIT context), Report!
Descriptor-data:
0000: 69 6e 64 65 78 2e 70 68 70 index.php
organisation_id: 19 (0x00000013)
appliction_id: 1 (0x0001) [= unsigned applications]
application_control_code: 1 (0x01) [= AUTOSTART]
reserved: 15 (0x0f)
Display More
Eine komplette Ausgabe für den entsprechenden application_signalling_descriptor vom Ersten ist im Anhang. Es sollte doch also relativ einfach sein, einen entsprechenden Filter für den vdr zu programmieren, der nichts anderes macht als die URL und den application_control_code auszugeben / speichern. Im Anhang ist ein erster Versuch von mir dies in ein Plugin zu packen (für vdr-1.7.16). Da ich leider nicht wirklich Ahnung von der Struktur des DVB-Streams habe und wie man damit umgeht, konnte ich eigentlich nur Teile aus anderen Plugins (z.B. Premiereepg) zusammen kopieren und die Descriptoren und Streams anpassen. Und welch ein Wunder, es ist doch nicht so einfach, zumindest für einen Laien. Das Plugin kommt zwar bis zum Stream 5 Datenpacket (für hbbtv), dann kommt aber ein Fehler beim Parsen des Datenpakets mit SI:cAIT .
Lange Rede kurzer sind: Gibt es hier einen Profi, der mir sagen kann, wo das Problem liegt ?
LG
Joachim
PS: Die Leute vom i-have-a-dreambox Forum haben schon mal ein standalone tool hbbtvscan:
http://www.i-have-a-dreambox.c…ostid=1429853#post1429853