Jump to content
Sign in to follow this  
ZiPP

EPG Stream Aufbau

Recommended Posts

ZiPP

Hallo,

ich habe mir vor kurzen das SDK für die Skystar 2 von technisat runtergeladen.

Komme damit recht gut zurecht und habe in kurzer zeit mir nen kleines Fernsehprogramm zusammen gebastelt. Das einzige was fehlt ist das EPG.

Leider gibts es dazu keine Docu.Es ist blos ein Beispielprogramm vorhanden in denen man Pins/ PIDS angeben kann und er die Rohdaten in eine Datei schreibt.Leider kann ich mit diesen Daten nichts anfangen und kenne mich mit den MPEGStream und die ganzen Packeten nicht aus. Gibt es eine möglichkeit mit dem Methoden in dem SDK an das EPG zu kommen.

Wäre voll nett wenn mir da einer weiterhelfen könnte...

 

Gruß

ZiPP

Share this post


Link to post
Guest hackbart

oar, also EPG ist recht kompliziert (wie so alles was mit dem DVB Fahrtwind daher kommt). Ich würde dir empfehlen, einfach mal die ETSI Spezifikationen zu lesen: ETSI EN 300 468.

 

Im wesentlichen ist das auslesen der EIT Tabelle allerdings nicht sonderlich spaßig. Was genau willst du eigentlich machen? Wenn es nur um EPG geht, würde ich eher vorschlagen dir die Daten vom DVBViewer zu borgen.

 

Christian

Share this post


Link to post
Derrick

>Was genau willst du eigentlich machen? Wenn es nur um EPG geht, würde ich eher vorschlagen dir die Daten vom DVBViewer zu borgen.

 

..vielleicht will er es ganz korrekt machen? ;) ..kleines spässken :idiot:

Share this post


Link to post
Guest hackbart

jaja das spässle ;) Also nachdem sich Griga dem EPG Parser angenommen hat, ist er 1/3 kleiner und sollte exakt dem entsprechen was die ETSI so ausgeheckt hat.

 

Christian

Share this post


Link to post
Derrick

Gut, dass nur der code kleiner geworden ist.. ..aus der EIT liesse sich ja mehr rausholen :idiot: Mir übrigens sowieso weniger wichtig, denn bei meinen zapgewohnheiten benutze ich doch keinen epg ;)

Share this post


Link to post
Griga
aus der EIT liesse sich ja mehr rausholen

 

Was zum Beispiel?

Share this post


Link to post
Derrick

ähem ;) kommt davon, wenn man es nicht benutzt. Ich dachte, die other transponder würden fehlen. :idiot:

Share this post


Link to post
ZiPP

Nabend,

ich hol mal ein wenig aus.Also ich habe mir für mein Wohnzimmer nen ITX System zusammengestellt mit dem ich so gut wie all meine Geräte wie DVDPlayer...Digital Reviever zusammenfasse.Natürlich läuft der DVBViewer drauf da sich mit dem OSD fast alles ansteuern läßt.Wie gesagt fast. Wollte halt noch ne Musiklibary, Fotolibary bzw. Film und Fernsehen in einer Soft. So art MS MediaCenter like. Leider unterstützt MCE keine DVB-s.Da ich leiderschafftlicher Programmierer bin und Semesterferien habe ;),habe ich mir halt dieses Programm erstellt.Es fehlt halt nur noch TV. Wie gesagt Fernsehen funktionert aber halt EPG/Aufnahme usw. noch nicht. Aber so wie es sich anhört, ist der MPEG2Stream ne wissenschaft für sich. Falls einer Lust und Zeit hat mir es nahe zu bringen, wäre ich sehr dankbar. Wenn nicht, auch nicht schlimm. Werd dann wohl einige Nächte mit der Google Page verbringen. Die Variante das EPG vom Viewer zu holen ist auch net schlecht,aber mich interessiert es auch persönlich wie die ganze sache abläuft.

 

Gruß

ZiPP

Share this post


Link to post
Guest Lars_MQ

Na so ein zufall sowas in der art ist auch für den DVBViewer grade in arbeit :idiot: Also Mediacenter like, nur eben nicht wie die meisten htpc programme das machen als bild/wetter anzeigender Mp3-spieler, der nebenbei auch fernsehen kann, sondern eben als voll ausgewachsenes Fernsehprogramm (was ja der hauptzweck der Kisten meistens ist) mit htpc fähigkeiten ;)

 

lars

Edited by Lars_MQ

Share this post


Link to post
ZiPP

Hallo,

na das wäre ja was.Wie weit seit ihr denn.Habt ihr denn schon nen ungefähres Erscheinugsdatum.Wenn Ihr in irgendeiner Art Hilfe braucht, oder einer bestimmte Dinge testen soll, stehe ich gern zu verfügung. Würde auch ne Liste erstellen was ich mir so vorstelle was das ding so alles können müste. Habe in dem Bereich schon erfahrung gemacht, da mein erster HTPC für die Familie war und Sie an dem Ding genug auszusetzen hatten was alles die Soft können muss. Mal zurück auf das ürsprünglich Thema zu kommen. Kennt einer ein paar gute Links außer Google mit denen ich mich auseinander setzen könnte?

 

Gruß

ZiPP

Share this post


Link to post
ZiPP

habe mir mal das ETSI EN 300 468 runtergeladen.Da muss man ja so viel lesen :( Ne ne, ist zwar viel durchzuarbeiten aber denke das das das :) richtige ist. Habe noch nie 3 Das hintereinander benutzt.Naja.Denke das da genug infos drin stehen.Habt Dank...

 

Gruß

ZiPP

Share this post


Link to post
Guest Lars_MQ
Hallo,

na das wäre ja was.Wie weit seit ihr denn.Habt ihr denn schon nen ungefähres Erscheinugsdatum.Wenn Ihr in irgendeiner Art Hilfe braucht, oder einer bestimmte Dinge testen soll, stehe ich gern zu verfügung. Würde auch ne Liste erstellen was ich mir so vorstelle was das ding so alles können müste. Habe in dem Bereich schon erfahrung gemacht, da mein erster HTPC für die Familie war und Sie an dem Ding genug auszusetzen hatten was alles die Soft können muss.

Im Moment entsteht grade die zentrale grafikengine für das OSD mit tastatur/fb und Mausbedienung.

Die ersten Test sehen schon sehr vielversprechend aus.

die anderen sachen kommen im stil eines plugins (einige intern im DVBViewer, einige extern). Alles schön bausteinmässig und erweiterbar...

Können muss er das das übliche (Datenbank mp3/bilder/videos/aufnahmen), logisch die gesamte vorhandene OSD schiene des DVBViewers, externe programme starten usw. Die liste ist noch nicht festgeschrieben und vorschläge sind immer sehr willkommen. (also immer her mit der liste :) )

 

Gruss

lars

Share this post


Link to post
Griga
habe mir mal das ETSI EN 300 468 runtergeladen.Da muss man ja so viel lesen

 

Sorry, es kommt noch schlimmer. Da gibt es eine weitere PDF, die die Basis von det janzen beschreibt. Echt harter Stoff, aber für Programmierer, die den TS auseinandernehmen wollen, unverzichtbar. Ist aus gewissen Gründen nicht so leicht im web zu finden, aber rechtsklicke mal fix hier drauf, und dann "Ziel speichern unter".

Share this post


Link to post
ZiPP

Nabend,

hab mal angefangen ein wenig mit den Daten aus dem ETSI was anzufangen.

Habe mal von einem diversen transponder die eit informationen in eine datei geschrieben. Die Info über diverse Sendungen auf diversen Kanälen sind enthalten.Es sollte aber auch die Startzeit und Laufzeit enthalten sein.Leider kann ich sie nicht direkt rauslesen. Mal hier ein auszug:

...ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

ÿÿÿÿÿÿÿG@ Nñg .û ! …NɹР0 LMDEUPretty WomanPretty WomanNú DEU ôDie junge Vivian Ward ist eine Bordsteinschwalbe, eine Prostituierte. Als der distinguierte Geschäftsmann Edward LewisG sie für eine Woche als seine "Begleiterin" engagiert, wird aus der zunächst rein geschäftlichen bald eine Liebesbeziehung ...PñDEUVideoP

òDEUdeutschPòDEUdolby digital[à~ÿÿÿÿÿG@ `ðÿå È ...

 

Ist das EPG Format in einem bestimmten Record abgelegt? Wenn ja, wie komme ich an diese Daten? Wäre nett wenn mir einer da nen Ansatz geben könnte.

 

Gruß

ZiPP

Share this post


Link to post
ZiPP

Nabend,

nach vielen Pilsnächten vorm PC habe ich es geschafft das EPG auseinander zu nehmen. Zeigt mir auch alles wunderbar an, außer das Datum haut noch nicht ganz hin. Im ETSI steht so salop drin das man die UTC Zeit einfach draufrechnen muss aber leider klappt das nicht so wie ich es mit vorstelle.Für die Anfangszeit muste man ja auch 2 Stunden zurechnen damit die Startzeit stimmt.

Hier nochmal die Formel:

EPG.Datum.Jahr = Int((dat - 15078.2) / 365.25)

EPG.Datum.Monat = Int((dat - 14956.1 - Int(EPG.Datum.Jahr * 365.25)) / 30.6001)

EPG.Datum.Tag = Int((dat - 14956 - (EPG.Datum.Jahr * 365.25) - (EPG.Datum.Monat * 30.6001)))

 

Weiß jemand wie ich nun die UTC Zeit in die Formel bringe?

Dank im voraus

 

Gruß

ZiPP

Share this post


Link to post
Griga

Genau kann ich dir das leider auch nicht sagen, da das in Delphi komfortable vorgefertigte Funktionen übernehmen, die Datum und Zeit gemeinsam in einer Double-Variablen vom Typ TDateTime kodieren.

 

Ich weiß nur soviel: Nachdem du die beiden datum-relevanten Bytes zusammengebaut und 15018 abgezogen hast

 

Byte1 * 256 + Byte2 - 15018

 

erhälst du die Anzahl der Tage, die (laut Delphi-Hilfe) seit dem 30.12.1899 vergangen sind.

Share this post


Link to post
Derrick

Wie immer, sind dafür die anhänge der dvb schriften - hier für den sog. Modified Julian Day (MJD) - zuständig :D

 

-> annex C von ETS 300 468

Share this post


Link to post
ZiPP

Hallo

erstmal dank für eure Infos.

@Griga: Die Variante ist zwar umständlich aber funktioniert.

@Derrick: Das meinte ich ja, das es da so salop drin steht. Aber manchmal sind die kleinen Dinge genau die, die ein das Leben schwer machen. :D

Eine Sache hätte ich noch. Und zwar geht es um die Aufnahme. Habe zwar nen Dumpfilter an die AV Ausgäng dran um aufzunehemen aber die logische Konsequenz ist das ich neben bei kein Fern schauen kann da bei diesen Filtern entstation ist. Gibt es nicht nen Filter der zusätzlich noch nen Output hat?Oder gibt es da vielleicht wieder irgendwelche heilige DVB Schriften :P

Mal was anderes. Wird eure "MediaEdition" eigentlich für die jenigen, die euren Viewer gekauft haben wieder als Update verfügbar sein oder wird man sich das seperat kaufen müssen? Bin jedenfalls schon sehr gespannt...

 

Gruß

ZiPP

Share this post


Link to post
erwin
Genau kann ich dir das leider auch nicht sagen, da das in Delphi komfortable vorgefertigte Funktionen übernehmen, die Datum und Zeit gemeinsam in einer Double-Variablen vom Typ TDateTime kodieren.

 

Ich weiß nur soviel: Nachdem du die beiden datum-relevanten Bytes zusammengebaut und 15018 abgezogen hast

 

Byte1 * 256 + Byte2  - 15018

 

erhälst du die Anzahl der Tage, die (laut Delphi-Hilfe) seit dem 30.12.1899 vergangen sind.

ZiPP ich hatte Dich so verstanden dass Du in C machst. Also von Delphis-TDateTime ginge es dann so weiter um zu einer time_t-Repräsentation zu kommen:

 

 

time_t TDateTime2time_t( double DateTime )

{

const int BASEDELTA = 25569; // Days between TDateTime basis (12/30/1899) and time_t basis (1/1/1970)

const int SECS_PER_DAY = 24 * 60 * 60; // Seconds per day

 

// the ( time_t )-cast separates the integer part; fractions of seconds are not returned

return ( time_t ) ( ( DateTime - BASEDELTA ) * SECS_PER_DAY );

}

 

 

mfG erwin

Share this post


Link to post
Guest hackbart

@Zipp: Also die Media Edition wird regulär als Update für alle Kunden erhältlich sein. Ist quasi "nur" nen Update :D

 

Christian

Share this post


Link to post
Guest Lars_MQ

hmm "DVBViewer Pro Media Edition Version 3.0"

 

wenn das so weiter geht ist bald ein 16:9 Monitor pflicht, damit man die splash screen noch anzeigen kann :D

 

lars

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...