FreeSAT EPG

Zusatz-Programme für Receiver der 5000er und 6000er Serie.

Hier geht's um alles, was mit den TAP Anwendungen für den PVR5x00/6000 zu tun hat.
cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

FreeSAT EPG

#1

Beitrag von cms » Sa 10. Apr 2010, 18:16

In Referenz auf viewtopic.php?p=666966#p666966 und auf viewtopic.php?t=19612, weil das Thema dort vielleicht etwas ungünstig platziert ist.

Ich suche:
- Welche PIDs sind auf dem aktuellen Transponder verfügbar?
- Konfigurierbare Aufnahme bestimmter PIDs

Könnte sich einer unserer EMMA Spezialisten einmal erbarmen?
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28762
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: FreeSAT EPG

#2

Beitrag von FireBird » Sa 10. Apr 2010, 19:11

Wie man alle auf einem Transponder verfügbaren PIDs aufzeichnet, steht im zweiten von Dir verlinkten Thread. :wink:

cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

AW: FreeSAT EPG

#3

Beitrag von cms » Sa 10. Apr 2010, 21:04

FireBird hat geschrieben:Wie man alle auf einem Transponder verfügbaren PIDs aufzeichnet, steht im zweiten von Dir verlinkten Thread. :wink:


a) record-a-mux läuft nicht auf meinem MP, außerdem hatte ich es so verstanden, daß maximal 16 PIDs aufgenommen werden. Compilieren kann ich es, irgendwie traue ich mich aber nicht, es zu modifizieren, da ich den HW Bezug in der Init Lib nicht verstehe und auflösen kann.

b) Das Code Fragment habe ich einmal compiliert und vor der Aufnahme ausgeführt. Der Effekt ist null. Die Aufnahme sieht auf wie immer.

c) Wie spezifiziere ich PIDs zur Aufnahme (ich nehme an, das ist tägliches Brot für den EPG Author, der im Recorder Scan wahrscheinlich nur die EIT aufnimmt)?
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28762
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: FreeSAT EPG

#4

Beitrag von FireBird » Sa 10. Apr 2010, 21:09

Ich meinte auch das EMMA-Register einen Beitrag darunter. Das Bit darf erst geändert werden, wenn die Aufnahme läuft und sich alles stabilisiert hat.

cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

AW: FreeSAT EPG

#5

Beitrag von cms » Sa 10. Apr 2010, 21:50

[quote="FireBird"]Ich meinte auch das EMMA-Register einen Beitrag darunter. Das Bit darf erst geändert werden, wenn die Aufnahme läuft und sich alles stabilisiert hat.[/quote]

Das ändert auch nichts: Aufnahme starten, 10sec warten, EMMA Register ändern - kein Effekt, ganz normale Aufnahme.
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28762
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: FreeSAT EPG

#6

Beitrag von FireBird » Sa 10. Apr 2010, 21:58

Dann machst Du irgendetwas falsch.

cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

AW: FreeSAT EPG

#7

Beitrag von cms » Sa 10. Apr 2010, 22:34

FireBird hat geschrieben:Dann machst Du irgendetwas falsch.

Code: Alles auswählen

#include <tap.h>

#define	ID_FILTER	0x8000d042

TAP_ID( ID_FILTER );
TAP_PROGRAM_NAME("PIDFilter 0.1");
TAP_AUTHOR_NAME("CMSA");
TAP_DESCRIPTION("Fuck around with EMMA");
TAP_ETCINFO(__DATE__);

int TAP_Main(void)
{
  dword* EMMA_TTSD_SR_CMD     = (dword*)0xb000a400;
  dword* EMMA_TTSD_PID_0      = (dword*)0xb000a038;
  dword* EMMA_TTSD_PID_47     = (dword*)0xb000a0f4;
  dword* EMMA_TTSD_PID_48     = (dword*)0xb000a640;
  dword* EMMA_TTSD_PID_EXT_47 = (dword*)0xb000a7bc;
  dword   *i;

  if ((*EMMA_TTSD_SR_CMD & 0x00000060) == 0)
  {
    for (i = EMMA_TTSD_PID_0; i <= EMMA_TTSD_PID_47; i++)
    {
      if ((*i & 0x1fff) == 18) *i = 0x00001fff;
    }

    for (i = EMMA_TTSD_PID_48; i <= EMMA_TTSD_PID_EXT_47; i++)
    {
      if ((*i & 0x1fff) == 18) *i = 0x00001fff;
    }

    *EMMA_TTSD_SR_CMD |= 0x00000060;
  }
  else
    *EMMA_TTSD_SR_CMD &= 0xffffff9f;
  return 0;
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28762
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: FreeSAT EPG

#8

Beitrag von FireBird » Sa 10. Apr 2010, 23:36

Grundsätzlich funktioniert Dein Code, aber...
  • ...das kurze TAP wird bei mir nicht korrekt erzeugt. Auf der seriellen Konsole wird „TAP: not enough space“ ausgegeben und in der .TAP-Datei selbst fehlt „TFAPMIPS“ und ein paar andere Header-Infos. Ein Dummy-TAP_Print() hat das gefixt.
  • ...schreit bei mir der Linker, wenn die TAP_EventHandler() fehlt.
  • ...sollte man nur den Kanal durchschalten, den man auch aufnimmt, sonst gibt es ganz schnell einen erfrorenen Topf.

cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

AW: FreeSAT EPG

#9

Beitrag von cms » So 11. Apr 2010, 09:51

Damit hat es wirklich begonnen "etwas" zu tun, es war also vorher zu kurz.
Etwas: Der Bildschirm zeigt ein buntes flirren und der Receiver wird unbedienbar. Dabei ist es egal, ob eine Aufnahme läuft oder ob man es vorher macht. Die laufende Aufnahme ist defekt, 0 Bytes. Ist am MP noch irgendetwas anders?

Code: Alles auswählen

#include <tap.h>

#define	ID_FILTER	0x8000d042

TAP_ID( ID_FILTER );
TAP_PROGRAM_NAME("PIDFilter 0.1");
TAP_AUTHOR_NAME("CMSA");
TAP_DESCRIPTION("Fuck around with EMMA");
TAP_ETCINFO(__DATE__);

dword TAP_EventHandler( word event, dword param1, dword param2 )
{
  // return FilterEventHandler(event, param1, param2);
  return 0;
}

int TAP_Main(void)
{
  dword* EMMA_TTSD_SR_CMD     = (dword*)0xb000a400;
  dword* EMMA_TTSD_PID_0      = (dword*)0xb000a038;
  dword* EMMA_TTSD_PID_47     = (dword*)0xb000a0f4;
  dword* EMMA_TTSD_PID_48     = (dword*)0xb000a640;
  dword* EMMA_TTSD_PID_EXT_47 = (dword*)0xb000a7bc;
  dword   *i;

  if ((*EMMA_TTSD_SR_CMD & 0x00000060) == 0)
  {
    for (i = EMMA_TTSD_PID_0; i <= EMMA_TTSD_PID_47; i++)
    {
      if ((*i & 0x1fff) == 18) *i = 0x00001fff;
    }

    for (i = EMMA_TTSD_PID_48; i <= EMMA_TTSD_PID_EXT_47; i++)
    {
      if ((*i & 0x1fff) == 18) *i = 0x00001fff;
    }

    *EMMA_TTSD_SR_CMD |= 0x00000060;
  }
  else
    *EMMA_TTSD_SR_CMD &= 0xffffff9f;

  return 0;

  TAP_Print("Dummy\n");
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28762
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: FreeSAT EPG

#10

Beitrag von FireBird » So 11. Apr 2010, 09:58

[quote="cms"]Ist am MP noch irgendetwas anders?[/quote]
Nein, denn ich habe auch einen MP. Aber wie bereits oben geschrieben, sollst Du nicht einfach beide Kanäle durchschalten (0x60), sondern nur den, über den gerade aufgenommen wird. Mit hoher Wahrscheinlichkeit ist es der Slot 0 (0x20), aber korrekter Weise ermittelt man das mit TAP_Hdd_GetRecInfo ().

Benutzeravatar
Happy
TAP-Guru
TAP-Guru
Beiträge: 5718
Registriert: Fr 9. Dez 2005, 09:32
Receivertyp: TF4000-5500-6000-TMS
Wohnort: bei Karlsruhe
Kontaktdaten:

AW: FreeSAT EPG

#11

Beitrag von Happy » So 11. Apr 2010, 10:59

cms hat geschrieben:
Etwas: Der Bildschirm zeigt ein buntes flirren und der Receiver wird unbedienbar.

Im Eventhandler solltest du return param1 verwenden statt return 0

Gruß,
Happy
:type: Meine TAPs und Tools

TF5500 PVR (Fw Jan. 2007 P)- 400GB Samsung - AC light 1.05 - Yamaha RX-V 1500
- LAN: Asus WL-500g Deluxe mit ftpd-topfield 0.7.4
TAPs: Quicktimer, Autodelete, Standby, 3PG, Automove, NiceDisplay, PowerRestore, WSS Killer, Eurostirf, Overfly
TV: Sony KDL-46W4500
TF6000 PVR (Fw Okt. 2008)- 160GB Samsung SV1604N
TAPs: iTina, Autodelete, Automove, Autoresume, NiceDisplay, WSS Killer
SRP-2100 (Fw Okt. 2009)
TAPs: SmartEPG, ChangePreview, Autodelete, Automove, BackupSettings,RescueRecs, MySkip, NiceDisplay

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28762
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: FreeSAT EPG

#12

Beitrag von FireBird » So 11. Apr 2010, 11:05

Der kommt aus der TAP_Main eh nicht raus.

Benutzeravatar
Happy
TAP-Guru
TAP-Guru
Beiträge: 5718
Registriert: Fr 9. Dez 2005, 09:32
Receivertyp: TF4000-5500-6000-TMS
Wohnort: bei Karlsruhe
Kontaktdaten:

AW: FreeSAT EPG

#13

Beitrag von Happy » So 11. Apr 2010, 11:09

[quote="FireBird"]Der kommt aus der TAP_Main eh nicht raus.[/quote]
ok....
:type: Meine TAPs und Tools

TF5500 PVR (Fw Jan. 2007 P)- 400GB Samsung - AC light 1.05 - Yamaha RX-V 1500
- LAN: Asus WL-500g Deluxe mit ftpd-topfield 0.7.4
TAPs: Quicktimer, Autodelete, Standby, 3PG, Automove, NiceDisplay, PowerRestore, WSS Killer, Eurostirf, Overfly
TV: Sony KDL-46W4500
TF6000 PVR (Fw Okt. 2008)- 160GB Samsung SV1604N
TAPs: iTina, Autodelete, Automove, Autoresume, NiceDisplay, WSS Killer
SRP-2100 (Fw Okt. 2009)
TAPs: SmartEPG, ChangePreview, Autodelete, Automove, BackupSettings,RescueRecs, MySkip, NiceDisplay

cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

AW: FreeSAT EPG

#14

Beitrag von cms » So 11. Apr 2010, 23:39

Noch eine Erfolgsrückmeldung: Nach den letzten Modifikationen läuft es, ich habe ein 'selbst' geschriebenes Record-a-Mux.
Eine Aufnahmeminute gibt 300MB, die ich einmal durch den dvbsnoop gequetscht habe. Das Ergebnis ist ein 80% Erfolg, die EPG PIDs sind da.
Aber es sind die falschen, es sind die low-speed PIDs 3841 und 3842, ich wollte ja 3002 & 3003 finden.
So ist es auch kein Wunder, daß meine Kanalaufnahme, in der ich einfach einen Kanal mit eine VPID von 3002 und einer APID von 3003 eingerichtet hatte, überhaupt nicht zielführend war.

Aber ich bin meinem Traum, TGDs direkt am Topf aus einer Aufnahme zu produzieren, ein klitzekleines Stück nähergerückt.

Bis hierhin danke für Euren Input.

Das sind die mit dvbsnoop gesnifften PIDs:

Code: Alles auswählen

PID: 0 (0x0000)  [= Programm Association Table]
PID: 1 (0x0001)  [= Conditional Access Table]
PID: 1280 (0x0500)  [= NIT, PMT or Elementary PID, etc.]
PID: 1281 (0x0501)  [= NIT, PMT or Elementary PID, etc.]
PID: 1282 (0x0502)  [= NIT, PMT or Elementary PID, etc.]
PID: 1283 (0x0503)  [= NIT, PMT or Elementary PID, etc.]
PID: 1284 (0x0504)  [= NIT, PMT or Elementary PID, etc.]
PID: 16 (0x0010)  [= NIT, PMT or Elementary PID, etc.]
PID: 17 (0x0011)  [= NIT, PMT or Elementary PID, etc.]
PID: 18 (0x0012)  [= NIT, PMT or Elementary PID, etc.]
PID: 192 (0x00c0)  [= NIT, PMT or Elementary PID, etc.]
PID: 20 (0x0014)  [= NIT, PMT or Elementary PID, etc.]
PID: 2305 (0x0901)  [= NIT, PMT or Elementary PID, etc.]
PID: 2306 (0x0902)  [= NIT, PMT or Elementary PID, etc.]
PID: 2307 (0x0903)  [= NIT, PMT or Elementary PID, etc.]
PID: 2308 (0x0904)  [= NIT, PMT or Elementary PID, etc.]
PID: 2309 (0x0905)  [= NIT, PMT or Elementary PID, etc.]
PID: 2310 (0x0906)  [= NIT, PMT or Elementary PID, etc.]
PID: 2318 (0x090e)  [= NIT, PMT or Elementary PID, etc.]
PID: 2319 (0x090f)  [= NIT, PMT or Elementary PID, etc.]
PID: 2320 (0x0910)  [= NIT, PMT or Elementary PID, etc.]
PID: 2321 (0x0911)  [= NIT, PMT or Elementary PID, etc.]
PID: 2322 (0x0912)  [= NIT, PMT or Elementary PID, etc.]
PID: 2323 (0x0913)  [= NIT, PMT or Elementary PID, etc.]
PID: 2324 (0x0914)  [= NIT, PMT or Elementary PID, etc.]
PID: 2325 (0x0915)  [= NIT, PMT or Elementary PID, etc.]
PID: 2326 (0x0916)  [= NIT, PMT or Elementary PID, etc.]
PID: 2327 (0x0917)  [= NIT, PMT or Elementary PID, etc.]
PID: 2328 (0x0918)  [= NIT, PMT or Elementary PID, etc.]
PID: 2329 (0x0919)  [= NIT, PMT or Elementary PID, etc.]
PID: 2330 (0x091a)  [= NIT, PMT or Elementary PID, etc.]
PID: 2331 (0x091b)  [= NIT, PMT or Elementary PID, etc.]
PID: 2332 (0x091c)  [= NIT, PMT or Elementary PID, etc.]
PID: 2333 (0x091d)  [= NIT, PMT or Elementary PID, etc.]
PID: 2334 (0x091e)  [= NIT, PMT or Elementary PID, etc.]
PID: 2335 (0x091f)  [= NIT, PMT or Elementary PID, etc.]
PID: 2336 (0x0920)  [= NIT, PMT or Elementary PID, etc.]
PID: 2337 (0x0921)  [= NIT, PMT or Elementary PID, etc.]
PID: 257 (0x0101)  [= NIT, PMT or Elementary PID, etc.]
PID: 258 (0x0102)  [= NIT, PMT or Elementary PID, etc.]
PID: 259 (0x0103)  [= NIT, PMT or Elementary PID, etc.]
PID: 260 (0x0104)  [= NIT, PMT or Elementary PID, etc.]
PID: 261 (0x0105)  [= NIT, PMT or Elementary PID, etc.]
PID: 262 (0x0106)  [= NIT, PMT or Elementary PID, etc.]
PID: 263 (0x0107)  [= NIT, PMT or Elementary PID, etc.]
PID: 264 (0x0108)  [= NIT, PMT or Elementary PID, etc.]
PID: 266 (0x010a)  [= NIT, PMT or Elementary PID, etc.]
PID: 267 (0x010b)  [= NIT, PMT or Elementary PID, etc.]
PID: 268 (0x010c)  [= NIT, PMT or Elementary PID, etc.]
PID: 269 (0x010d)  [= NIT, PMT or Elementary PID, etc.]
PID: 3840 (0x0f00)  [= NIT, PMT or Elementary PID, etc.]
PID: 3841 (0x0f01)  [= NIT, PMT or Elementary PID, etc.]
PID: 3842 (0x0f02)  [= NIT, PMT or Elementary PID, etc.]
PID: 3843 (0x0f03)  [= NIT, PMT or Elementary PID, etc.]
PID: 3844 (0x0f04)  [= NIT, PMT or Elementary PID, etc.]
PID: 49 (0x0031)  [= NIT, PMT or Elementary PID, etc.]
PID: 80 (0x0050)  [= NIT, PMT or Elementary PID, etc.]
PID: 8191 (0x1fff)  [= Null-packet]
PID: 85 (0x0055)  [= NIT, PMT or Elementary PID, etc.]
PID: 89 (0x0059)  [= NIT, PMT or Elementary PID, etc.]
PID: 96 (0x0060)  [= NIT, PMT or Elementary PID, etc.]
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

AW: FreeSAT EPG

#15

Beitrag von cms » So 11. Apr 2010, 23:52

Und hier für die Nachwelt der Code zur freundlichen Kenntnisnahme und Nachahmung.
Ich wage jedoch keine Doppelaufnahme...

Code: Alles auswählen

#include <tap.h>

#define	ID_FILTER	0x8000d042

TAP_ID( ID_FILTER );
TAP_PROGRAM_NAME("PIDFilter 0.1");
TAP_AUTHOR_NAME("CMSA");
TAP_DESCRIPTION("Fuck around with EMMA");
TAP_ETCINFO(__DATE__);

// For API Bug, reserve 256 byte after playinfo/recinfo
typedef struct
{
  TYPE_RecInfo   myRecInfo;
  char           extraBuffer[256];
} TYPE_myNewRecInfo;

typedef struct
{
  TYPE_PlayInfo  myPlayInfo;
  char           extraBuffer[256];
} TYPE_myNewPlayInfo;

dword TAP_EventHandler( word event, dword param1, dword param2 )
{
  // return FilterEventHandler(event, param1, param2);
  return 1;
}

int TAP_Main(void)
{
  dword* EMMA_TTSD_SR_CMD     = (dword*)0xb000a400;
  dword* EMMA_TTSD_PID_0      = (dword*)0xb000a038;
  dword* EMMA_TTSD_PID_47     = (dword*)0xb000a0f4;
  dword* EMMA_TTSD_PID_48     = (dword*)0xb000a640;
  dword* EMMA_TTSD_PID_EXT_47 = (dword*)0xb000a7bc;
  dword   *i;
  dword val=0;
  static TYPE_myNewRecInfo myNewRecInfo;
  TYPE_RecInfo* myRecInfo = (TYPE_RecInfo*)&myNewRecInfo;
  bool myRecInfoValid;

  if ((*EMMA_TTSD_SR_CMD & 0x00000060) == 0)
  {
    for (i = EMMA_TTSD_PID_0; i <= EMMA_TTSD_PID_47; i++)
    {
      if ((*i & 0x1fff) == 18) *i = 0x00001fff;
    }

    for (i = EMMA_TTSD_PID_48; i <= EMMA_TTSD_PID_EXT_47; i++)
    {
      if ((*i & 0x1fff) == 18) *i = 0x00001fff;
    }

    if(TAP_Hdd_GetRecInfo(0, myRecInfo)) {
      if(myRecInfo->recType == RECTYPE_Normal) val |= 0x00000020;
    } 
    if(TAP_Hdd_GetRecInfo(1, myRecInfo)) {
      if(myRecInfo->recType == RECTYPE_Normal) val |= 0x00000040;
    } 
    //*EMMA_TTSD_SR_CMD |= 0x00000060;
    *EMMA_TTSD_SR_CMD |= val;
  }
  else
    *EMMA_TTSD_SR_CMD &= 0xffffff9f;

  return 0;

  TAP_Print("Dummy\n");
}
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

AW: FreeSAT EPG

#16

Beitrag von cms » Mo 12. Apr 2010, 07:19

Dann also die erste Bedienungsanleitung:

Es wird ein Programmplatz erzeugt (z.B. Topset).

Astra2
Transponder: 11426MHz / 27500KS / H Arqiva Transponder (*)
PCR PID: 3001
Video PID: 3002
Audio PID: 3003
Service ID: 0

Jetzt auf diesem Programmplatz eine Aufnahme starten, in 70 Sekunden ist der komplette Freesat EPG eingelesen. Da kommen ca. 35MBytes Aufnahme heraus.

Träum #1:
In Zukunft wird ein TAP aus dieser Aufnahme die TGDs rechnen, die von den üblichen Verdächtigen direkt auf dem Topf weiterverarbeitet werden.

Träum #2:
In weiterer Zukunft werden die EPG TAPs die Verarbeitung als Teil des Recorder Scans direkt integriert haben.

Einstweilen schieben wir die Aufnahme auf den PC, nehmen den Scanner (DotNet Code). Das ist natürlich kein echtes Tool, sondern nur eine Fingerübung eines Programmierers, ist aber schon einmal ganz nett um sich von der grundsätzlichen Funktion zu überzeugen.

(*) Ich hatte am Anfang auf V probiert, das ist das erste Mal, dass die Sendefrequenz (fast) identisch ist, und nur nach Polarisationsebene unterschieden wird.
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

AW: FreeSAT EPG

#17

Beitrag von cms » Mo 12. Apr 2010, 22:57

Oh, dass macht Spaß.

FreeSat EPG hält sich an den Standard, man findet in der PID 3003 eine klassische EIT (Event Information Table).
Anders ist nur die Codierung der Strings:
Für die Analyse habe ich den dvbsnoop etwas erweitert, so dass er die Strings zusätzlich mit Hexdumps anzeigt.

Die ersten beiden Bytes sind nicht standardisierte Deskriptoren, man findet

Code: Alles auswählen

0x1F 0x01
Codierung mit Huffman Tabelle 1 (Anhang)

Code: Alles auswählen

0x1F 0x02
Codierung mit Huffman Tabelle 2 (Anhang)

Die Tabellen sind zu lesen wie ein Zustandsautomat, das Ausgabealfabet ist die Menge der Zustände, die Kanten sind die Binärwerte der Eingabe. Besonders gekennzeichnete Zustände machen genau, was man so denkt (START, STOP, ...).

Ich habe einmal herausgesucht, zum Beispiel Event_ID: 29249 (0x7241) Start_time: 0xd802232000 [= 2010-04-12 23:20:00 (UTC)] Duration: 0x0005000 [= 00:50:00 (UTC)]

Code: Alles auswählen

1F01 9B5EBE6FC70F60
Das übersetzt sich mit Tabelle 1 zu:

Code: Alles auswählen

In Plain Sight
Funktioniert also prima.

Hier noch die beiden Tabellen (Quelle: BDB/DigitalSpy, aus dem VDR Sourcecode):
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

Antworten

Zurück zu „TF 5x00/6000 PVR TAP“