Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
|
|
Source code |
1 |
drwxr-xr-x 2 root root 4096 12. Mai 12:52 epgsources |
|
|
Source code |
1 |
drwxr-xr-x 2 vdr vdr 4096 12. Mai 12:52 epgsources |
xmltv2vdr wurde immer noch unabhängig von der Datenquelle bleiben, auch wenn die Datenquelle andere Sender ids benutzt; die Unabhängigkeit würde von der Steuerdatei geleistet, wenn sie die Zuordnung zwischen den Sendernamen der Quelle und den Standardnamen des xmltv2vdr angibt.
Quoted
xmltv2vdr interessiert nur das dieser Grabber den Sender "tf1.fr" liefern kann, der Rest muss der Grabber machen. xml2vdr soll ja bewusst unabhängig von den div. Datenquellen arbeiten und sich nicht auf bestimmte Datenquellen (oder deren spezielle Eigenheiten) festlegen.
Im Augenblick mache ich diesen Zwischenschritt mit sed, was auch schnell geht. Aber aus Neugier: Warum muss der Grabber den Zwischenschritt tun? Welchen Sinn hat die Restriktion auf die Standardnamen des xmltv2vdr, wenn die Steuerdatei die Zuordnung angeben könnte?
Quoted
Ich weiss aber worauf Du hinaus möchtest, nämlich den Zwischenschritt "irgendeine ID von einer schon bestehenden xmltv-Quelle auf die xmltv2vdr-KanalIDs" zu sparen. Aber genau den Zwischenschritt sollte ja der xmltv2vdr-Grabber machen.
Es ging mir ja nicht darum, die Senderids des xmltv Projekts automatisch zu erkennen. Ich dachte am Anfang, dass die Steuerdatei für die Zuordnung zuständig wäre. Jetzt weiß ich dass das nicht der Fall ist und dass die xmltv Daten die Standardnamen von xmltv2vdr benutzen müssen.
Quoted
Das xmltv Projekt und das dort verwendete Datenaustauschformat sind ja zwei verschiedene Sachen.
Jetzt bin ich überrascht: Gehen Timer bei dem vdr nur wenn es auch entsprechende EPG-Einträge gibt? Oder ist das speziell der Suchtimerfunktion zugeschnitten, die automatisch das EPG durchsucht um Timer zu setzen? Ich bin noch nicht lange dabei in Sachen vdr; folglich entgeht mir manchmal der Sinn warum einige Sachen so sind wie sie sind.
Quoted
merge = mischen, d.h. vorhandene EPG-Enträge erweiteren (bei Ausfall des Grabbers werden trotzdem noch Aufnahmen gemacht, da das Sender-EPG greift)
append = hinzufügen, d.h. neue EPG-Einträge erstellen (geht aber nur wenn es entweder kein EPG gibt oder der Kanal mit dem noEPG-Plugin/Patch gesperrt wurde, bei Ausfall des Grabbers wird nichts aufgenommen!)
xmltv2vdr wurde immer noch unabhängig von der Datenquelle bleiben, auch wenn die Datenquelle andere Sender ids benutzt; die Unabhängigkeit würde von der Steuerdatei geleistet, wenn sie die Zuordnung zwischen den Sendernamen der Quelle und den Standardnamen des xmltv2vdr angibt.
Joe_D hat diese Sache ja anfangs zur Diskusion gestellt. Ist also nicht so als ob das vorher nicht mal besprochen wurde, jetzt ist es halt so wie es jetzt ist. Irgendwann muss man halt mal nen Punkt machen und ne Schnittstelle festlegen die dann auch so bleibt (auch wen sie evtl. nicht Ideal ist).die Unabhängigkeit würde von der Steuerdatei geleistet, wenn sie die Zuordnung zwischen den Sendernamen der Quelle und den Standardnamen des xmltv2vdr angibt.
This post has been edited 2 times, last edit by "Keine_Ahnung" (May 12th 2011, 5:17pm)
Der Sinn besteht darin, das xmltv2vdr seine xmltv-Dateien egal von welcher Quelle in einem Standardformat bekommt. Das wurde eben so festgelegt.
Quoted
Welchen Sinn hat die Restriktion auf die Standardnamen des xmltv2vdr, wenn die Steuerdatei die Zuordnung angeben könnte?
Naja, Timer auf "Sendungsnamen" gehen aus Prinzip nur mit EPG.
Quoted
Jetzt bin ich überrascht: Gehen Timer bei dem vdr nur wenn es auch entsprechende EPG-Einträge gibt?
Korrekt (wobei es bei append nur Einträge geben kann, wenn welche von xmltv2vdr erstellt wurden - und zudem muss man Vorkehrungen treffen das das Sender-EPG nicht geladen wird)
Quoted
Ich probiere die Beschreibung von merge und append anders auszudrücken. Ist folgendes korrekt?
merge: Falls der EPG-Eintrag schon existiert, wird er mit den neuen Daten erweitert; gibt es den noch nicht, dann werden die neuen Daten ignoriert.
append: Gibt es schon einen Eintrag, so werden die neuen Daten ignoriert; gibt es den Eintrag noch nicht, so wird er mit den neuen Daten erstellt.
Dann wünsche ich viel Spass mit doppelten EPG-Einträgen
Quoted
Falls der EPG-Eintrag schon existiert, füge die neuen Daten hinzu; existiert der EPG-Eintrag noch nicht, dann erstelle ihn mit den neuen Daten.
Beim VDR kann immer nur einer EPG erstellen, entweder der Sender oder xmltv2vdr. Da Sender und xmltv2vdr unterschiedliche Event-IDs verwenden würde es bei Deinem gewünschten Fall dazu führen, das zum xmltv2vdr-Event ein Sender-Event erstellt werden würde.Da war ich eben faul
Quoted
das Mapping gehört IMHO in eine seperate Datenbank (z.B. eine CSV Datei) des Grabbers (so das sie auch mit einem normalen Update des Grabbers automatisch aktuallisiert wird) und nicht mit der Config vermischt.
Es wäre eine bessere Lösung, nur benötigt man dann auch noch einen Mechanismus der die Config-Datei erweitert/ändert wenn z.B. ein Sender eingestellt wird oder neu hinzukommt.Bei mir schmiert nichts ab (egal ob vdr/root - bei mir kommen dann nur entsprechende Logmeldungen), kannste einen Backtrace machen?
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Core was generated by `/usr/local/sbin/vdr --log=3 0 --port=6419 --user=vdr --userdump --vfat --watchd'. Program terminated with signal 6, Aborted. #0 0xffffe424 in __kernel_vsyscall () (gdb) bt #0 0xffffe424 in __kernel_vsyscall () #1 0xb74fc751 in raise () from /lib/i686/cmov/libc.so.6 #2 0xb74ffb82 in abort () from /lib/i686/cmov/libc.so.6 #3 0xb6936318 in ?? () from /usr/lib/libdirect-1.2.so.9 #4 <signal handler called> #5 0xb752d607 in fclose () from /lib/i686/cmov/libc.so.6 #6 0xb541c10e in cEPGSource::Store (this=0xb4100e10) at xmltv2vdr.cpp:307 #7 0xb542674d in cMenuSetupXmltv2vdrChannelSource::Store (this=0xa95f5e0) at setup.cpp:653 #8 0x080eddf0 in cMenuSetupPage::ProcessKey (this=0xa95f5e0, Key=kOk) at menuitems.c:1142 #9 0x080f3eb8 in cOsdMenu::ProcessKey (this=0xa3f0d40, Key=kOk) at osdbase.c:593 #10 0xb542777c in cMenuSetupXmltv2vdr::ProcessKey (this=0xa3f0d40, Key=kOk) at setup.cpp:221 #11 0x080f3eb8 in cOsdMenu::ProcessKey (this=0xa957b78, Key=kOk) at osdbase.c:593 #12 0x080eddce in cMenuSetupPage::ProcessKey (this=0xa957b78, Key=kOk) at menuitems.c:1138 #13 0x080d7d28 in cMenuSetupPlugins::ProcessKey (this=0xa957b78, Key=kOk) at menu.c:4010 #14 0x080f3eb8 in cOsdMenu::ProcessKey (this=0xa873828, Key=kOk) at osdbase.c:593 #15 0x080eaf78 in cMenuSetup::ProcessKey (this=0xa873828, Key=kOk) at menu.c:4088 #16 0x080f3eb8 in cOsdMenu::ProcessKey (this=0xb99f5a8, Key=kOk) at osdbase.c:593 #17 0x080de60c in cMenuMain::ProcessKey (this=0xb99f5a8, Key=kOk) at menu.c:4499 #18 0x081345f0 in main (argc=54, argv=0xbfbfc104) at vdr.c:1458 (gdb) |
Da war ich eben faul![]()
Faul sein ist meist der richtige Ansatz. Wollts nur mal erwähnen, nicht das stille Mitlerser die gerade nen Grabber schreiben denken das muss so sein.This post has been edited 1 times, last edit by "Keine_Ahnung" (May 12th 2011, 11:16pm)
Müsste meine Definition nicht folgendermaßen lauten um genauer zu sein:
Quoted
merge: Falls der EPG-Eintrag schon existiert, wird er mit den neuen Daten erweitert; gibt es den noch nicht, dann werden die neuen Daten
ignoriert.
Stammt dieses Verhalten vom VDR selbst, oder wurde das so in das xmltv2vdr plugin programmiert?
Quoted
merge: Falls die Sendung-ID schon existiert, und in den neuen Daten befindet sich eine gleiche Sendung-ID, so wird erstere mit letztere erweitert; alle Sendungen aus den neuen EPG Daten werden ignoriert, falls ihre Sendung-ID nicht schon im EPG des VDRs existiert.
Also wenn ich richtig verstanden habe, bekommt jede Sendung in der EPG-Quelle eine Sendung-ID und diese Sendung-ID variert von Quelle zu Quelle; korrekt?
Schließlich, erhält der VDR sein EPG nur über Plugins oder beinhaltet er auch ein internes Verfahren, das sich das EPG holt? Zum Beispiel benötigt der VDR ein plugin um die EPG Daten die mit den deutschen öffentlichen Sender gesendet werden, zu verwerten?
Gleichzeitig scheint mir die Wiki-Dokumentation aber noch zu wenig als Tutorial nutzbar zu sein, was ich aus den hier diskutierten Fragen ableite. So gibt es zum Beispiel bei mir nach der mehrmaligen Lektüre der Wiki-Doku immer noch offene Fragen. Deshalb würde ich es gut finden, wenn die Wiki-Doku um ein praktisches Beispiel erweitert werden könnte, wo der gesamte Workflow drin ist, den man machen muss, um es zum Laufen zu kriegen.
Stimmt, für den Neueinsteiger ist es vermutlich doch etwas verwirrend.This post has been edited 2 times, last edit by "Keine_Ahnung" (May 13th 2011, 1:52pm)
This post has been edited 2 times, last edit by "hepi" (May 13th 2011, 2:30pm)
1) Zum Wiki: Es spricht ja nichts gegen mehrere Wiki-Seiten, die sich auf ein Plugin beziehen, solange man alles korrekt verlinkt und erklärt. Auf der jetzigen Wiki-Seite wird nicht erklärt, welche Textabschnitte sich an Devs und welche sich an Nutzer richten. Am Anfang steht aber der Nutzer, weil der Dev auch Nutzer ist...![]()
2) Vorschlag: Kanalbezogene Konfiguration nicht in der setup.conf ablegen
EPG-Daten haben immer etwas mit der channels.conf zu tun: Je mehr Kanäle in der channels.conf, desto mehr EPG-Daten in der epg.data. Soweit nichts weltbewegendes, aber: Seit ich mich mal mit dem NoEPG-Patch auseinandergesetzt habe, bin ich ich der Ansicht, dass die Konfigurationszeilen des NoEPG-Patches eigentlich sehr schlecht manuell wartbar sind, sprich: Eine ellenlange Zeile mit Kanal-IDs, die man nicht durch menschlich lesbare Kommentare versehen kann. Die NoEPG-Konfig wird tendenziell auch immer umfangreicher, je mehr Kanäle man in der channels.conf hat. Das finde ich eigentlich ungünstig, dass die Konfigurationszeile in der setup.conf drinsteht und nicht in einer eigenen Konfig-Datei, wo man die Kanal-IDs umbrochen verwalten könnte und menschlich lesbar kommentieren könnte (vergleiche Aufbau einer channelmap.conf-Datei). (Bietet eigentlich der NoEPG-Patch ein Verwaltungsmenü per OSD?)
3) Verstehe ich es richtig, dass die RID, also der letzte Kanalparameter in der channels.conf genutzt wird, um die UniqueID pro Kanal zu hinterlegen?
|
|
Source code |
1 |
xmltv2vdr.channel.france2.fr = 16;284165119;S19.2E-1-1090-9022;S19.2E-1-1074-8374 |
Die Grundfrage ist für mich hinsichtlich einer Channelpedia-Erweiterung : Sind die Ansprüche der Anwender an xmltv2vdr individuell sehr unterschiedlich? Wenn jeder Anwender sich sein xmltv2vdr über das OSD anders konfiguriert und damit die Zeilen in der setup.conf, die mit "xmltv2vdr.channel." anfangen, bei jedem Anwender anders aussehen,
und bei Channelpedia wäre es möglich, nicht nur für S19.2E zu generieren, sondern für alle gepflegten Anbieter (also auch Kabel und DVB-T).
Das es keine Grabber gibt ist ja wohl der Grund warum das Plugin im Moment eh kaum genutzt wird (ich vermute jedenfall das es nur von wenigen genutzt wird).OK. Das heißt also, dass ich für beliebig viele Kanäle in der setup.conf eine Zuordnung zwischen Sender-Parameter-ID (source-sid-nid-tid[-rid]) und festgelegter UniqueID ( z. B. "zdf.de") vornehmen kann, selbst wenn ich nur für drei dieser Sender das EPG via xml-grabber beziehe.
Sprich: Wenn auf Astra1 (S19.2E) insgesamt 1300 Kanäle empfangbar sind (nur mal geraten), kann ich theoretisch in der setup.conf auch 1300 Zeilen haben mit Zuordnungen, auch wenn ich am Ende nur für 35 deutschsprachige Sender das EPG vial xml-Grabber beziehe.
In den Sourcen des Plugins finde ich keine Repräsentanz der verbindlichen Kanalliste [1]. Kennt das Plugin selbst die Liste der verbindlichen Kanäle selbst oder muss es die Liste nicht kennen? Man wird dann aber nicht gezwungen, diese Liste auch einzuhalten?
Ja das müsste so sein. Habe ich aber noch nie ausprobiert.
Quoted
Wenn ich jetzt das EPG für einen Sender von zwei verschiedenen Quellen bekomme und der Import für den Sender auf append steht, habe ich
dann nicht doppelte Einträge da ich davon ausgehen kann, dass beide Quellen verschiedene Sendung-IDs benutzen?
Die Wiki-Seite richtet sich ausschließlich an Devs, der Nutzer einer Distribution geht ins Setup-Menü, wählt Kanäle und Informationsgehalt aus und macht eine Zuordnung zu seinen eigenen Kanälen. Fertig. Aber das ist noch Zukunftsmusik.
Quoted
Auf der jetzigen Wiki-Seite wird nicht erklärt, welche Textabschnitte sich an Devs und welche sich an Nutzer richten
Nein, die channels.conf sieht bei jedem anders aus (DVB-S,DVB-C,DVB-T und Mischungen dazu) - generierte Einträge machen da IMHO gar keinen Sinn. Die xmltv2vdr-Einträge in der setup.conf beziehen sich ausschliesslich auf das Plugin (wofür dieser Mechanismus ja gedacht ist), nicht auf die Grabber (!) - das ist schön getrennt. Einmal eingestellt muss man da nur ändern falls ein Kanal seinen Sendeplatz ändert (und das kommt bei "richtigen" Sendern alle Schaltjahre mal vor)
Quoted
Ich frage mich, ob Datensätze, die sich auf die channels.conf beziehen, nicht besser in eigenen Konfigurationsdateien aufgehoben sind
Wie bitte?
Quoted
Verstehe ich es richtig, dass die RID, also der letzte Kanalparameter in der channels.conf genutzt wird, um die UniqueID pro Kanal zu hinterlegen?

|
|
Source code |
1 2 3 4 5 6 7 8 |
file 5;7 *ard.de *zdf.de *prosieben.de *rtl.de *sci-fi.de *tnt-serie.de |
|
|
Source code |
1 2 3 4 |
Jul 8 12:57:06 yavdrclient vdr: [17275] xmltv2vdr: executing epgsource 'tv_grab_we' Jul 8 12:57:07 yavdrclient vdr: [17275] xmltv2vdr: epgsource 'tv_grab_we' returned with 1 Jul 8 12:57:07 yavdrclient vdr: [17275] xmltv2vdr: waiting 60 seconds (1) Jul 8 12:58:07 yavdrclient vdr: [17275] xmltv2vdr importer thread ended (pid=17118, tid=17275) |