Jump to content
Sign in to follow this  
kuehnch

EPG-Daten werden nicht von DVBViewer übernommen

Recommended Posts

kuehnch

Hallo,

ich schreibe gerade an einem kleinen Tool, welches das Importieren des Clickfinder-EPGs ermöglichen soll. Clickfinder-Kanäle können also ein oder mehreren DVBViewer-Kanälen zugeordnet werden und ein Import transferiert dann die Daten von der Clickfinder-DB gleich zum DVBViewer. Die Entwicklung findet in C# statt und bisweilen hat auch alles funktioniert, jedoch happerts nun gerade genau an der Datenübergabe.

 

Wie in der COM-Beschreibung aufgeführt, hole ich mir einen EPGAddBuffer, befülle diesen dann mit EPG-Elementen und commite den Puffer dann. Fehlermeldungen etc. treten keine auf, jedoch sind die EPG-Informationen innerhalb von DVBViewer seitens des Auftauchens genauso zurückhaltend...

Gibt es eine Möglichkeit des Debuggens, damit ich erkennen kann, was vielleicht an meinen EPG-Elementen verkehrt ist? Was sind denn die Grundvoraussetzungen für eine erfolgreiche Datenübernahme? Anbei mal ein Codeschnippsel:

 

int sid;
int tid;
DVBViewer.EPGManager.SplitEPGChannelID(dvbviewerChannel.EPGChannelID,out sid, out tid);
IEPGAddBuffer buffer = DVBViewer.EPGManager.AddEPG();

foreach (TVMovieEPGElement epgElement in epg)
{
			IEPGItem epgItem = buffer.NewItem();
			epgItem.SetEPGEventID(sid, tid);

			epgItem.EventID = epgElement.ID;
			epgItem.Title = epgElement.Title;
			epgItem.Event = epgElement.SubTitle;
			epgItem.Time = epgElement.Start;
			epgItem.Duration = new DateTime(1899,12,30) + (epgElement.End - epgElement.Start);
			if (epgElement.Description != null)
				epgItem.Description = epgElement.Description;
			if (epgElement.ShortDescription != null)
				epgItem.Description = epgElement.ShortDescription;
			buffer.Add(epgItem);
}
buffer.Commit();

 

Eine zweite kleine Frage betrifft die Eigenschaft "Duration" eines EPG-Elements. Die Duration muss im Datentyp "DateTime" angegeben werden, was ich allerdings nicht für sehr sinnvoll halte. Hier sollte vielleicht einfach auf eine Minutenangabe im Integer-Format zurückgegriffen werden, denn seitens .NET ist ein Handling eines "TimeSpans" per DateTime nur mit tricksen möglich, wie dem Codeschnippsel ja zu entnehmen ist. Aber das ist nur eine kleine Unschönheit.

Edited by kuehnch

Share this post


Link to post
Guest Lars_MQ

Du solltest Darauf achten, das die EventID pro channel (tid,sid) unique sind. Ansonsten könntest Du mir ja mal eine testversion von deinem prog zukommen lassen per PM (wenn möglich mit testdaten), dann könnte ich schauen was bei mir im COM bereich ankommt.

 

Zu der Duration, das ist schon mit absicht so gemacht, es erspart intern das ständige hin und her gerechne, das IEPGItem ist einfach nur ein proxy für die interne EPGKlasse. Ein TDateTime ist auch nicht mehr als ein Float value, vor dem komma das Datum und nach dem komma die Zeit. ich vermute deine konstruktion mit dem DateTime(1899,12,30) überlistet nur die Typenprüfung, weil normalerweise müsste ein (epgElement.End - epgElement.Start) vollkommen ausreichen.

Share this post


Link to post
mytai2

Hallo kuehnch,

darauf habe ich schon lange gewartet!!! :);)

Ich benutze den Clickfinder mit TVMovie2XMLTV und dem myXMLTV-Importer, aber so

richtig funktioniert das eigentlich nicht. Ich hoffe, dass Du Dein Programm zur Verfügung stellst,

sobald es fertig ist.

 

Gruß,

Holger

Share this post


Link to post
kuehnch

Hallo,

natürlich werde ich das Programm (es soll eigentlich ein Plugin werden, wobei ich da allerdings auch noch Probleme habe...) zur Verfügung stellen, wenn es denn mal brauchbar ist (fertig wird eine Entwicklung ja irgendwie nie, da es ständig Verbesserungsbedarf gibt). Unter der Woche komme ich derzeit allerdings leider nicht zu viel, so dass das noch ein paar Tage dauern sollte.

 

Zum eigentlichen Problem:

Ich habe das aber richtig verstanden, dass die EventID lediglich ein eindeutiger Bezeichner für den EPG-Eintrag ist und nicht direkt im Zusammenhang mit der tid/sid steht (so wie die EPGEventID, welche diese beiden Werte miteinander kombiniert)? Derzeit übernehme ich als EventID die "SendungID", welche von TVMovie geliefert wird und welche innerhalb der Sendungen unique ist.

Eben um die Typenprüfung zu umgehen, muss ja so getrickst werden, denn im Rahmen von C# gibt es eben kein DateTime-Objekt, welches eine Zeitdauer ausdrückt. Entsprechend muss ein Datum ermittelt werden, welches bei einer Addition mit dem Startdatum wieder das Enddatum ergibt. Eine Dauer wird in C# als TimeSpan definiert. Wenn ich zwei Datumsangaben arithmetisch verrechne, ergibt sich als Ergebnis ein TimeSpan, aber kein DateTime-Objekt und ein TimeSpan kann weder implizit noch explizit in ein DateTime-Objekt konvertiert werden.

Villeicht liegt ja auch hier genau der Fehler, denn wer weiß, was DVBViewer wiederum mit der von mit gelieferten und Duration macht.

 

Da das Programm den Ort der Clickfinder-DB selbstständig ermittelt und dann verwendet, ist ein Bereitstellen des Programms mit Testdaten nicht ganz so trivial. Ich werde dann, sollte ich es nicht doch noch hinbekommen, noch eine kleine App dazupacken, welche zwei bis drei Datensätze an den DVBViewer sendet. Allgemein wäre es aber auch nicht ganz unpraktisch, wenn seitens DVBViewer eine Möglichkeit der Einsicht der Ereignisse (z.B. in Form eines Logs) möglich wäre, so dass der Entwickler selbst solche Probleme in den Griff bekommen kann.

 

Anbei nochmal eine Abbildung aus dem Visual Studio, welches den Inhalt eines EPGItems zeigt, kurz bevor es in den Puffer wandert. Erkennbar ist, dass die EndTime (zumindest bis COM) korrekt aus Time und Duration ermittelt wird.

 

post-28116-1163516978_thumb.jpg

Edited by kuehnch

Share this post


Link to post
kuehnch

Hallo,

anbei nun mal eine kleine Datentestversion, damit mal jemand von den Entwicklern schaun kann, was bei DVBViewer an EPG-Datensätzen ankommt.

 

Das Archiv ist an einen beliebigen Ort zu entpacken. Nachdem DVBViewer gestartet wurde, kann auch die enthaltene Applikation gestartet werden, welche nach einer kurzen Ladezeit (Statussachen fehlen noch) einen Einstellungendialog anzeigt. Der Reiter Mapping zeigt links die DVBViewer-Kanäle und rechts die TVMovie-Kanäle (es liegt ein Mini-Datenbestand bei..). Bevor ein Import durchgeführt wird, sind hier die TVMovie-Kanäle (zumindest einer) einem oder mehreren DVBViewer-Kanälen zuzuordnen. Dazu wird links einfach der entsprechende DVBViewer-Kanal selektiert und dann rechts auf den passenden TVMovie-Kanal doppelt geklickt. Der TVMovie-Kanal wird dann dem DVBViewer-Kanal zugeordnet. Zuordnungen können durch einen Doppelklick auf sie wieder entfernt werden. Nachdem das Mapping getätigt wurde, muss der Save-Button gedrückt werden, um das Mapping zu aktivieren. Dann kann per Run Import-Button ein Import angestoßen werden.

 

Benötigt wird zudem ein installiertes .NET Framework 2.0

 

TVM2DVBViewer Datentestversion (nicht für Otto :jump:)

Share this post


Link to post
Guest Lars_MQ

Leider kann ich das nicht testen, da das programm sich hartnäckig weigert zu starten. Es erscheint kurz das icon im system tray und geht wieder weg, 3 xml dateien werden angelegt und das wars...

Share this post


Link to post
kuehnch

Ouh.. das ist natürlich nicht schön. Dann müssen wir wohl erstmal diesen Fehler ausmachen. Ich habe die Version mal dahingehend erweitert, dass bei solchen Absturzproblemen ein Logeintrag in eine "error.log" geschrieben wird. Also einfach nochmal herunterladen, ausführen und schaun, was drinnen steht.

 

.NET 2.0 ist aber installiert? Ob sich das mit .NET 3.0 verträgt, habe ich selbst noch nicht getestet...

Share this post


Link to post
Guest Lars_MQ

Oha, es scheint als hättest Du probleme mit grossen channellisten. :jump:

 

Du musst bedenken, das Kanäle mehrfach auftreten können. Log ist angehängt.

error.zip

Share this post


Link to post
azeman

Bei mir das Gleiche wie bei Lars.

Das Prog startet, das Fenster erscheint 1mal ganz kurz und dann beendet sich alles sofort wieder. Hier der LOG-Eintrag:

----

19.11.2006 10:45:14

Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.

bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)

bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)

bei System.Collections.ObjectModel.KeyedCollection`2.AddKey(TKey key, TItem item)

bei System.Collections.ObjectModel.KeyedCollection`2.InsertItem(Int32 index, TItem item)

bei System.Collections.ObjectModel.Collection`1.Add(T item)

bei TVM2DVBViewer.ChannelManager.get_ChannelList()

bei TVM2DVBViewerApp.MainForm.LoadDVBVChannelList()

bei TVM2DVBViewerApp.MainForm..ctor()

bei TVM2DVBViewerApp.Program.Main()

 

19.11.2006 10:46:01

Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.

bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)

bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)

bei System.Collections.ObjectModel.KeyedCollection`2.AddKey(TKey key, TItem item)

bei System.Collections.ObjectModel.KeyedCollection`2.InsertItem(Int32 index, TItem item)

bei System.Collections.ObjectModel.Collection`1.Add(T item)

bei TVM2DVBViewer.ChannelManager.get_ChannelList()

bei TVM2DVBViewerApp.MainForm.LoadDVBVChannelList()

bei TVM2DVBViewerApp.MainForm..ctor()

bei TVM2DVBViewerApp.Program.Main()

----

.Net 2 mit aktuellen Security Patches ist installiert, bin mit Admin-Rechten angemeldet

 

Gruß,

azeman

Share this post


Link to post
kuehnch

Hallo,

ihr seid super :jump: Prinzipiell hatte ich schon bedacht, dass ein Kanal mehrfach auftreten kann, weil genau das auch in meiner Kanalliste der Fall ist. Da ich aber recht neu bei DVBViewer bin, bin ich vielleicht mit dem ein oder anderen Kanallistendetail noch nicht vertraut. Klasse wäre also, wenn mir einer von euch einfach mal seine Kanalliste zumailen könnte, so dass ich mir das unmittelbar anschaun kann ( christoph.kuehn-AT-email.de ). Leider komme ich erst zum Abend hin zum reinschauen, da ich nun weg muss.

Vielen Dank auf jedenfall schonmal.

Share this post


Link to post
Guest Lars_MQ
wenn mir einer von euch einfach mal seine Kanalliste zumailen könnte

OK erledigt.

Share this post


Link to post
kuehnch

Vielen Dank für die E-Mail und die Geduld mit mir :jump: Habe ich mir angeschaut, weiß allerdings noch nicht, wie ich darauf reagieren soll. Das "Problem" an deiner Kanalliste ist, dass unter dem Stammverzeichnis "Astra19.2" in der Gruppe "PayRadio" zweimal derselbe Sender auftaucht (CLASSIC ROCK). War mir nicht bewusst, dass sowas möglich ist, weil eigentlich auch wenig sinnvoll. Da die EPG-Daten aber sowieso dann aus demselben EPGChannel gezogen werden, werde ich sowas wohl ausfiltern, auch wenn die dargestellte Kanalliste dann nicht 1:1 ist.

 

Habe das nun erstmal so gemacht.. also einfach nochmal probieren.

Share this post


Link to post
Guest Lars_MQ

Es ist sehr sinnig, wenn Du einfach eine kleine (sortierte) Liste mitführst und alle Sender mit der gleichen NetworkID, TID und SID rausfilterst.

Das EPG wird eh über TID/SID zugeordnet und daher braucht man die ganzen doubletten und audiospuren ausführungen nicht. Macht das ganze viel übersichtlicher (und etwas schneller) :jump:

So wird das im EPGfenster Was jetzt/Timeline und im Webserver plugin von mir gehandhabt.

Share this post


Link to post
Guest Lars_MQ

OK hab den übeltäter. Ich lasse Dir mal ne gefixte Version zukommen. Mea culpa :jump:

Share this post


Link to post
kuehnch

Hallo,

ja recht hast du da schon. Das Bisherige basiert wieder ein wenig auf Unwissenheit. Nun habe ich aber verstanden, dass ein und derselbe Sender in unterschiedlichen Stammverzeichnissen und Gruppen eben nur einen Sender darstellt, der sich eben an unterschiedlichen Stellen in den Listen zeigt.

Kommt Zeit, kommt gute und vor allem passende Software :bye:

Ich bin eh nicht so der Softwaretechniker und werkel zumeist einfach mal blind drauf los ^^

 

Ansonsten:

Schön, dass der Fehler gefunden wurde. Wer nun an irgendwelchen Problemen schuld ist, ist ja hinfällig, solange sie gelöst werden. Also gibt es hier ganz sicher keinen Grund, sich für irgendetwas zu entschuldigen :jump: Sonst hätte ich auch schon eine neue Tagesbeschäftigung gefunden...

Share this post


Link to post
Guest Lars_MQ

Ich hab Dir ein DVBViewer update zukommen lassen mit dem fix per mail.

Share this post


Link to post
mytai2

Hallo kuehnch,

erst mal Hut ab, wirklich eine tolle Arbeit (bis jetzt :jump: ).

Ich bin zwar eher ein Otto, konnte aber trotzdem nicht widerstehen und habe

kurzentschlossen Deine Beta in ein Unterverzeichnis meines DVBViewers

entpackt. Bei mir hat Alles super hingehauen und ich konnte die einzelnen

Kanäle prima mappen nachdem ich die tvdaten.mdb in das TVM2DVBViewer

kopiert habe (Soll das so sein?). Einziges Problem ist, dass keine Daten

importiert werden, aber vielleicht ist das auch noch nicht möglich.

 

Gruß,

Holger

Share this post


Link to post
kuehnch

Funktioniert nun 1A.

Den weiteren Tipp aus der mail habe ich brav befolgt und nun startet die Anwendung auch wesentlich zügiger.

Bezüglich der Kanallistenstruktur mache ich mir nochmal Gedanken...

 

Habe die Datentestversion mal gegen den aktuellen Entwicklungsstand ausgetauscht (funktionstüchtig dann ab nächster DVBViewer-Beta). Derzeit lassen sich aber nur EPG-Einträge mit folgendem Inhalt importieren: Titel, Untertitel, Startzeit, Dauer, Beschreibung. Kategorie würde dann noch dazu kommen und bezüglich der restlichen Clickfinder-Daten ("Live","FSK"...) dachte ich an eine flexible Lösung, die der Endanwender selbst konfigurieren kann. Es soll sich dann z.B. für den Beschreibungstext eine Datenmaske definieren lassen, welche z.B. wie folgt ausschaut:

 

{description}

{FSK}

 

{description} wird dann durch den Beschreibungstext ersetzt und der FSK-Wert wird eine Zeile darunter angehangen. Eine weitere Datenmaske im Format

 

{live} {title}

 

wäre bspw. für den Titel denkbar, so dass z.B. Live-Sendungen ein "Live: " vorangestellt wird. Besteht in dieser Richtung Interesse oder wäre das weniger interessant?

 

Hallo kuehnch,

erst mal Hut ab, wirklich eine tolle Arbeit (bis jetzt :jump: ).

Ich bin zwar eher ein Otto, konnte aber trotzdem nicht widerstehen und habe

kurzentschlossen Deine Beta in ein Unterverzeichnis meines DVBViewers

entpackt. Bei mir hat Alles super hingehauen und ich konnte die einzelnen

Kanäle prima mappen nachdem ich die tvdaten.mdb in das TVM2DVBViewer

kopiert habe (Soll das so sein?). Einziges Problem ist, dass keine Daten

importiert werden, aber vielleicht ist das auch noch nicht möglich.

Hallo Holger,

die Version, die du geladen hast, war nur eine Testversion für die DVBViewer-Entwickler, welche auch ohne Clickfinder auskam (ich habe stattdessen direkt eine kleine Clickfinder-DB mit beigelegt). Diese Testversion habe ich nun gegen den aktuellen Entwicklungsstand ausgetauscht, welche nun auch auf Clickfinder zugreift. Du kannst die Version nun also starten und auch das Mapping vornehmen etc., allerdings kommen bei einem Import die Clickfinder-EPG-Daten noch nicht beim DVBViewer an, da sich dort ein kleiner Fehler eingeschlichen hatte. Der ist nun aber behoben und fließt in die nächste DVBViewer-Betaversion ein. Du musst dich also noch solange gedulden, bis diese neue Betaversion erscheint.

Derzeit kannst du also noch nichts mit der Anwendung anfangen. Wenn möglich, wäre es natürlich sehr nett, wenn du die Anwendung trotzdem mal lädst, konfigurierst und importieren lässt, um mir vielleicht eine frühzeitige Rückmeldung zukommen zu lassen, sollte es zu Fehlern kommen. Das Einzige, was halt vorhersagbar noch nicht klappt, ist die Datenübernahme seitens DVBViewer in der aktuellen Version.

Share this post


Link to post
mytai2

Hallo kuehnch,

lief eben mit über 30 Kanälen durch. Icgh freue mich schon

auf den nächsten Test.... :bye::jump:;)

Share this post


Link to post
kuehnch

Kleine Statusänderung:

 

Ich habe den TVM2DVBViewer-Importer nun mal zum EPGImporter** umgebaut. Die aktuelle Version ist deshalb nun unter

 

http://www.0xFF.de/files/EPGImporter/EPGImporter.zip

 

zu finden.

 

** Der EPGImporter selbst besitzt keine Fähigkeit (mehr), Daten aus einer bestimmten Datenquelle (z.B. TVMovie) zu beziehen. Ferner lassen sich nun "DataSource-Module" direkt in den EPGImporter einbinden, welche dann die Daten beziehen. Die bis dato integrierte Fähigkeit des TVMovie-Clickfinder-Imports wurde in das DataSource-Modul TVMovieDatasource ausgelagert. Der EPGImporter selbst übernimmt lediglich das Mapping von "DataSource-Kanälen" auf DVBViewer-Kanäle" und "DataSource-Genres" auf "DVBViewer-Genres", sowie weitere Funktionalitäten, wie das Einplanen und Durchführen von Importvorgängen.

Durch das Konzept wird die Möglichkeit bereitgestellt, EPG aus mehreren Datenquellen zu beziehen, wenn denn die entsprechenden DataSource-Module existieren.

Share this post


Link to post
mytai2

aber ein TVMovieDatasource-Modul gibt es noch nicht, richtig?

Share this post


Link to post
kuehnch

dochdoch...

Wie geschrieben, wurde die Funktionalität nur ausgelagert. Das entsprechende Modul liegt bei, so dass einem Clickfinder-Import nichts im Wege steht. Lade dir vielleicht mal die aktuelle Version herunter. Ich habe heute noch die Möglichkeit eingebaut, Module zu aktivieren/deaktivieren und innerhalb von einzelnen Zeitplänen festzulegen, welche Module bei einem durch einen Zeitplan angestoßenen Import verwendet werden sollen.

 

Damit dann die EPG-Daten auch schlussendlich angezeigt werden in DVBViewer wird mindestens Die Version 3.50.102beta benötigt, wegen des hier besprochenen Fehlers.

Share this post


Link to post
mytai2

Hallo Kuench,

danke, danke!! :):D

Dein Importer funktioniert bei mir super. Besonders das Mapping finde ich super einfach und

daher klasse. Jetzt muß ich nur noch wissen, woher ich die DVBViewer 3.50.102beta bekomme :P

Gruß,

Holger

Share this post


Link to post
Guest Lars_MQ
Jetzt muß ich nur noch wissen, woher ich die DVBViewer 3.50.102beta bekomme

Das ist eine interne entwickler beta (von mir) extra für die tests für dieses problem.

Aber die nächste beta (in den nächsten tagen) wir den entsprechenden fix enthalten.

 

lars

Share this post


Link to post
steph99

Hallo Kuench,

 

klasse Sache! Danke!

Siehst du evtl. auch eine Möglickeit, Bilder (soweit bei TVMovie vorhanden) zu importieren und im OSD anzuzeigen?

Das wäre natürlich ein Traum!

Share this post


Link to post
kuehnch

Hallo,

das ist nicht Aufgabe des Programms. Da muss also seitens DVBViewer erstmal die Möglichkeit geschaffen werden, einzelnen EPG-Elementen ein Bild mitzugeben. Wenn die Möglichkeit besteht, ist es dann prinzipiell kein Problem, das "Clickfinder-Importer"-DataSource-Modul und den EPGImporter so zu erweitern, dass auch Bilder übernommen werden. (Derzeit) sind die einzelnen Datenelemente eines EPG-Eintrags bei DVBViewer halt wenig zahlreich. Das liegt ja auch daran, dass DVBViewer sich eben auf DVB und damit verbunden EIT-Daten konzentriert. Da EIT-Daten wiederum keine Bilder usw. enthalten, wurde hierfür auch keine Unterstützung implementiert.

Share this post


Link to post
steph99

Danke für die schnelle Antwort!

 

Vielleicht lesen ja Lars und/oder Christian mit und finden das auch interessant - und auch machbar...

 

Grundsätzlich halte ich Bilder als Ergänzung zu Beschreibungen nicht nur für einen Gimmick. Ganz im Gegenteil: man orientiert sich mit Bildern halt viel schneller als ausschließlich über Texte. Die Bilder sind fast der einzige Grund, warum ich doch noch oft zu web-epgs greife...

 

Positiv denken, vielleicht bleib ich ja nicht der Einzige, der das klasse fände. :)

 

Danke nochmals für dein Engagement!

Share this post


Link to post
kuehnch

Ich kann dem nur zustimmen, denn nicht ohne Grund habe ich da die Entwicklung aufgenommen. Mir liegt halt auch viel an einem guten EPG. Neben Bildern würde ich mir vor allem auch wünschen, dass weitere Tags definierbar sind, wie "Regie", "Jahr", "Schauspieler", "FSK" usw., um solche Daten dann auch getrennt von einer Beschreibung, in welche man sie reinpacken könnte, anzuzeigen (gegebenenfalls könnte man die Tags vorher noch auswerten und durch Icons austauschen oder so).

Ohne Schleichwerbung zu betreiben nur mal ein kleiner Screenshot, den ich gestern in einem anderen Forum gesehen habe und der so die Richtung andeutet, was ich mir so wünschen würde:

 

tvc_msk_epg.jpg

 

Gewisse Informationen können also bewusst separiert angezeigt werden.

Share this post


Link to post
steph99

Hi kuehnch!

 

jaaaaaa :) Du sprichst mir aus der Seele!

 

Ist schon knackig, das bonavista. Ist aber für DVBV keine Konkurrenz, finde ich. Allein der OSD-SKin Eitor von DVBV eröffnet bereits jetzt mehr Möglichkeiten als jedes andere mir bekannte Programm. UNd die Hardware-Unterstützung von bonavista...naja...

 

Ich bastel selbst gerade an einem eigenen OSD-Skin. Hauptzweck ist für mich dabei die Optimierung der Usabilty, bessere Ausnutzung des Screens (und natürlich mein persönlicher Geschmack bzgl. der Optik). Da ich über einen beamer TV sehe, benötige ich bei 2,80 Diagonale natürlich kleinere Schriften (und kann mehr unterbringen als auf einen 32''er).

 

Ich schätze mal, Dein Hintergrund ist aus dem Bereich Programmierer/Entwickler/Webdesigner? Ich selbst komme aus dem Marketing, habe eine kl. Dialog Agentur gehabt und trete erst Januar eine neue Position im Direct Marketing an und nutze bis dahin die Zeit für meine DVBV-Passion. Habe also jahrelang Kreative gebrieft und auch selbst konzipiert. Betrachte mich auch ohne selbst im engeren Sinne Kreativer oder Programmierer zu sein dennoch als Kreativen. Daher weiß ich nur zu gut, wie schwierig es ist, seine kreative Idee mit anderen zu teilen. Davon können wir sicher alle ein Lied singen ;)

 

Dennoch bin ich davon überzeugt, dass wir alle zusammen etwas wirklich Geniales hinbekämen. Es sind gar nicht sooo viele Erweiterungen, die wir dazu im EPG/OSD-Editor benötigen würden (zusätzlich zu der Integration von Bildern ins OSD-EPG ;) ). Mit wie viel Aufwand das verbunden ist und ob das Lars und Christian das möchten und zeitlich können, lässt sich ja herausfinden.

 

Ich habe mich jetzt bereits über einen Monat lang intensiv mit dem OSD-Skin Editor beschäftigt und eine Bitte bereits an Christian und Lars gemeldet ( http://www.DVBViewer.com/forum/index.php?showtopic=15420 ). Ich werde dort noch weitere Ideen für "kleinere und größere Erweiterungen mit riesigem Effekt" zusammenfassen und mal sehen, ob ich auf Interesse stoße.

 

Bitte, bitte Christian und Lars: das OSD ist das Herzstück des DVBVs. Hier steckt noch soooo viel drin :P

Für mich ist das OSD der "Multiplikator" schlechthin. Ich hoffe, Ihr findet auch Interesse an unseren Ideen. :D

Share this post


Link to post
hackbart

Naja Bilder und Co können im OSD schon problemlos für jede Sendung dargestellt werden, die Bilder brauchen nur im Images-Pfad in folgender Form vorliegen: "ServiceID-EventID.jpg". Das ging übrigens schon vor Ewigkeiten (seit knapp 1 1/2 Jahren), damals hatte ich das wegen der geplanten SFI2.0 Implementierung eingebaut (leider haben wir das aus Zeitgründen noch nicht umgesetzt, wenngleich ich alle Spezifikationen habe). Die zusätzlichen EPG Informationen wie die Genrebewertung kommen nur durch redaktionell aufgewertete Programmlisten. Platz im EPG Manager ist allerdings allemal für zusätzliche Informationen.

Dem DVBViewer Nutzer ein teures Abo aufzubrummen, nur im die EPG Daten anzubieten, möchte ich aber nicht unbedingt einführen. :)

 

Christian

Share this post


Link to post
steph99

Hi Christian!

 

Wie immer: danke für die schnelle und erfreuliche Info! Ich hoffe/denke, kuehnch liest mit :)

 

2 Anmerkungen:

  1. "Dem DVBViewer Nutzer ein teures Abo aufzubrummen"
    Hier liegt evtl. ein Missverständnis vor:
    a.) die Nutzung des Importers ist ja völlig optional
    b.) ein (kostenpflichtiges) Abo ist ja gar nicht unbedingt notwendig
  2. "nur im die EPG Daten anzubieten"
    Mich würde mal Eure grundsätzliche Sicht als Entwickler des Programms interessieren: seht Ihr das OSD eher eine Ergänzung oder als Kern-Bestandteil des Programms?
    Für mich (und ich könnte mir denken, auch für viele Andere) wird der DVBV erst durch die vollständige Bedienbarkeit über OSD/FB zu der vollwertigen und besten TV-App, die sie ist.
    a.) EPG (Zusatz-)Infos und
    b.) die Optimierung der OSD-Benutzerführung
    stellen damit neben den Hygienefaktoren "Stabilität, Funktionen und Hardwareunterstützung" das größte Potential dar.

Ist vielleicht etwas komisch ausgedrückt. Würde mich aber wirklich sehr interessieren, ob Ihr das so oder ähnlich unterschreiben könntet oder ganz anders seht.

Share this post


Link to post
kuehnch

Dann kann ich das ja schonmal so implementieren. Optimal wäre natürlich, wenn man im IEPGItem einen URI setzen könnte, den DVBViewer dann wiederum benutzt, um die Datei selbst du laden und abzulegen, aber man kann nicht immer gewinnen :)

 

Falls das ein schlauer Kopf irgendwann liest - wie komme ich an den Images-Pfad (den DVBViewer-Verzeichnnispfad?). Ich wühle aber selbst mal in der API-Doku rum.

Share this post


Link to post
kuehnch

OK - Bilderimport ist nun auch integriert (prototypisch sozusagen, da noch ungetestet und nicht deaktivierbar). Bilder werden dann im Images-Ordner abgelegt. Die Bereinigung der Bilder macht DVBViewer aber dann selbst?

 

Wenn ich die Bilder nun im OSD anzeigen wollte - wie würde das entsprechende Tag lauten (bei #EPG.image usw. tat sich nicht recht viel...)? Oder geht das noch nicht?

Edited by kuehnch

Share this post


Link to post
steph99

Hi Lars und Christian!

 

Kuehnch und ich kommen beim Testen des Bild-Imports nicht ganz bis zum Erfolg:

 

Ein Label (!) mit "#EPG.image" (OHNE "S" am Ende) zeigt im OSD immer den kompletten Pfad zum jeweilig aktiven EPG-Bild (also von "c:/..." bis xxxxx.jpg") - aber eben nicht das Bild selbst.

 

Bei der Nutzung eines Image-ELements mit #EPG.image sehe ich gar nichts.

 

Hoffe, Ihr könnt uns den entscheidenden Tipp geben, um die Bilder des aktiven/selected EOP Items anzuzeigen. Wär echt klasse.

Share this post


Link to post
Guest Lars_MQ

Also man nutzt ein image dafür und wenn er den pfad anzeigt im label, isses schonmal gut. Achte darauf, das auch ein bild mit dem namen in dem pfad vorhanden ist.

 

das bild muss dann so aussehen (nur ein beispiel!):

	<item>
  <description>channellogo</description>
  <type>Image</type>
  <id>1</id>
  <x>11</x>
  <y>326</y>
  <width>64</width>
  <height>48</height>
  <texture>#EPG.image</texture>
</item>

Share this post


Link to post
kuehnch

Danke für den Hinweis. So hatte ich das auch schon. Wir kommen dem Problem aber langsam auf die Schliche. Der von mir generierte Bild-Dateiname stimmt nicht mit dem in #EPG.image bereitgestellten Namen überein. Ist es ganz sicher "sid-eventid.jpg"? Denn die von mir bei einem IEPGItem eingetragene EventID stimmt nicht mit dem Wert überein, der als zweiter Wert im Bilddateinamen auftaucht. Was ist das für ein Wert? Ermittelt ihr selbst nochmal eine EventID?

 

Meine EventID: 7185838

Eure EventID: 42415

Edited by kuehnch

Share this post


Link to post
steph99

Danke (mal wieder) Lars!

 

Diesmal hast du nur noch 18 Minuten gebraucht. Noch 2 oder 3 Post und du antwortest bevor ich Frage... :D

 

Es klappt: ein vorhandenes Bild wird angezeigt.

 

Das Naming der importierten Bilder ist allerdings etwas anders als das Format, das #EPG.image ergibt - vermute ich zumindest.

 

@Christoph:

irgendwie passen

"die Bilder brauchen nur im Images-Pfad in folgender Form vorliegen: "ServiceID-EventID.jpg"."

und

die Bezeichnung meiner Bilder nach dem Import noch nicht 100%ig zusammen.

...aber es fehlt nicht mehr viel :)

 

Vielleicht hab ich ja auch irgendwo nen Fehler gemacht. Hab zusätzlich zum Image einfach ein Label mit #EPG.image eingefügt, um zu sehen, welche file-namen gewünsch werden. Habe dann ein bild so benannt wie gewünscht und: jucku-huuhhh!

 

Ich freu mich schon! :bye:

 

PS an Lars:

Soviel schonmal: EPG-Elemente klappen mit der Entwickler-Version bisher einwandfrei. Teste und suche weiter - nach Fehlern UND nach neuen Möglichkeiten ...die Büchse der Pandorra, du weißt schon ;)

Mehr morgen vielleicht im anderen Thread

Share this post


Link to post
Guest Lars_MQ
Was ist das für ein Wert? Ermittelt ihr selbst nochmal eine EventID?

Nein. Die EventID wird von dir ja vorgegeben. Achte Darauf das EPGEventID <> EventID ist. Das ist meine Schuld, die EPGEventID sollte eigentlich EPGChannelID heissen. Da hab ich mist gebaut.

 

setValue('#EPG.image', BuildEPGPicName(aepg.ServiceID,aepg.EventID));

So sieht das bei mir aus.

Share this post


Link to post
kuehnch

Also dann stimmt irgendwas nicht. Ich setzt sowohl bei IEPGItem.EventID als auch im Bilddateinamen an zweiter Stelle die ID meines EPGElements, welche eine eindeutige Zahl darstellt, die ungleich der EPGEventID ist.

Auf Seite1 dieses Threads gibt es z.B. eine kleine Abbildung, welche die Inhalte eines meiner generierten EPGItems zeigt.

Share this post


Link to post
kuehnch

Habe nochmal genauer hingeschaut. Das Problem ist schlicht und ergreifend, dass die EventID nur Wortlänge umfasst. Deshalb ergibt sich dann ein Maximalwert von knapp 65500, den meine EventIDs natürlich etwas übersteigen... ich werde die EventIDs dann einfach fortlaufend durchnummerieren, denn die EventIDs werden ja nur innerhalb der EPG-Kanals zur Unterscheidung verwendet richtig?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×