EPG-Filter

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

... also, ich denke auch, man muss aufwand und nutzen sehen.
... tommy's script z.b. wird z.b. auch nur 1x pro jahr benutzt werden, aber ich denke das ist OK so, mehr sollte ja auch aus nirvana's idee nicht passieren.
... wir alle sparen mit dem gepachten sectionsd ne menge ram und mit den scripten ne menge an tipp-arbeit.
und das thema war in einer woche gegessen, wenn alles so schnell gehen wuerde, haetten wir schon ein funktionierendes Neutrino2 mit 2.6er Kernel. ;)

... in diesen sinne: big party und guten rutsch ins 2007 !!!

cu token
sagem-avia600_enx-1xi-cable-telecom
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Hi Nirvana,

super Sache! Respekt!

Die Geschichte mit dem editieren in neutrino würde mir allerdings auch besser gefallen. Ich habe die ganze Sache jetzt nur nicht im Detail verfolgt: Wäre es möglich - mit überschaubaren Aufwand - das ganze in die bestehende Bouquet-Verwaltung einzubauen? Sprich, wie kompatibel sind diese ganzen Auslese-und Schreibemechanism. Eventuell schaue ich mir das nämlich mal an.

Bin ja noch wie vor ein Anhänger einer vereinfachten GUI Bedienung ;)

Günther
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Günther hat geschrieben:Hi Nirvana,

super Sache! Respekt!

Die Geschichte mit dem editieren in neutrino würde mir allerdings auch besser gefallen. Ich habe die ganze Sache jetzt nur nicht im Detail verfolgt: Wäre es möglich - mit überschaubaren Aufwand - das ganze in die bestehende Bouquet-Verwaltung einzubauen? Sprich, wie kompatibel sind diese ganzen Auslese-und Schreibemechanism. Eventuell schaue ich mir das nämlich mal an.



Bin ja noch wie vor ein Anhänger einer vereinfachten GUI Bedienung ;)

Günther
Hallo Günther,

wenn Du wie von mir oben beschrieben einen zusätzlichen Parameter
einbauen würdest, könnte man damit ganze Anbieterlisten in der
BouquetVerwaltung EPG-Technisch ausblenden.

Bild
Mit der dbox-Taste müsste man die Option EPG Ein-/Ausblenden auf
die blaue Taste legen können um einzelne Anbieter auswählen zu
können. Die kann ja schon "Umbenennen", "Verstecken" und "Sperren".

Das Skript den Parameter auszulesen und die epgfilter.xml zu erzeugen habe ich ja oben bereits gepostet.


Gruß
____Paule
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

Günther hat geschrieben:Hi Nirvana,

super Sache! Respekt!

Die Geschichte mit dem editieren in neutrino würde mir allerdings auch besser gefallen. Ich habe die ganze Sache jetzt nur nicht im Detail verfolgt: Wäre es möglich - mit überschaubaren Aufwand - das ganze in die bestehende Bouquet-Verwaltung einzubauen? Sprich, wie kompatibel sind diese ganzen Auslese-und Schreibemechanism. Eventuell schaue ich mir das nämlich mal an.

Bin ja noch wie vor ein Anhänger einer vereinfachten GUI Bedienung ;)

Günther
Ein Flag in der Bouquet.xml wäre ein gute Lösung - hatte ich (sehr) weiter oben schon vorgeschlagen.
Die Frage ist nur - wie oft muß man da ran?! und lohnt der Aufwand?

Das Ausblenden ist für mich keine Alternative - da ich doch ab und zu Radio höre und dann erst wieder einblenden müßte.
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
PizzaPicante
Interessierter
Interessierter
Beiträge: 28
Registriert: Mittwoch 12. Juli 2006, 05:02

Beitrag von PizzaPicante »

Hi,

ich denke, das eigentlich schon alles vorhanden ist,
GUI-Bearbeitung passiert in dem B-Editor (oder Win-Tools) - Erzeugung der Liste per Script.

Ein Menupunkt unter dbox->service wie zb. "EPG-Filter erzeugen und einlesen" wäre da vielleicht noch sinnvoll,
falls beim scannen oder editieren ein neuer Service dazukommt.

Ich habe mein script noch um den restart des sectionsd erweitert, mehr braucht man m.E. nicht wirklich,
es hindert aber auch niemanden an persönlichen Erweiterungen.

CU
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

@ PizzaPicante

Tja, so hat jeder seine eigene Sicht der Dinge. Ich für meinen Teil
habe mir abgewöhnt von mir auf andere zu schließen. Selbst kann
ich auch die EPGFilter.xml erstellen, doch ich kenne wie bereits
erwähnt viele User die damit Ihre Probleme haben dürften.

Deshalb habe ich versucht das Skript so aufzubauen, das man es
über Neutrino konfigurieren kann, ohne das man Sender im
BouquetEditor löschen muss...

Wenn Dir Deine Lösung reicht ist es schön für Dich, aber lass uns
bitte im Sinne der Allgemeinheit hier weiter arbeiten.


Gruß
____Paule
Zuletzt geändert von PauleFoul am Montag 1. Januar 2007, 19:57, insgesamt 1-mal geändert.
PizzaPicante
Interessierter
Interessierter
Beiträge: 28
Registriert: Mittwoch 12. Juli 2006, 05:02

Beitrag von PizzaPicante »

Hi,

ich habe nur meine Sicht dargestellt - nicht mehr und nicht weniger.

Mir war nicht bewusst, das ich jemanden am weiterarbeiten hindern würde, ebensowenig, das Du die Algemeinheit repräsentierst.

Ich halte mich dann mal raus.

CU
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Von der Logik her ist EPG ja/nein ein Attribut des Senders, nicht des Bouquets. Ein Sender kann ja in mehreren Bouquets Mitglied sein. Natürlich könnte man sagen: ist er in einem Bouquet gesperrt, hat er eben kein EPG, egal, wo er sonst noch ist.
Ich stelle mir das auch nicht so schwierig zu implementieren vor, aber von dem GUI habe ich bisher die Finger gelassen.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Nirvana hat geschrieben:Von der Logik her ist EPG ja/nein ein Attribut des Senders, nicht des Bouquets. Ein Sender kann ja in mehreren Bouquets Mitglied sein. Natürlich könnte man sagen: ist er in einem Bouquet gesperrt, hat er eben kein EPG, egal, wo er sonst noch ist.
Ich stelle mir das auch nicht so schwierig zu implementieren vor, aber von dem GUI habe ich bisher die Finger gelassen.
Hi Nirvana,

da ja eine Whitelist erzeugt wird, kommen nur die Sender der Bouquets
in die EPGFilter.xml die nicht gesperrt wurden. Z.B. "Meine Favoriten"
enthält ja meist Sender verschiedener Anbieter / Bouquets. Ist diese
Bouquet nicht EPG gesperrt, werden alles darin enthaltenen Sender der
Whitelist hinzugefügt. Sollten Sender hieraus (was normal wäre) auch noch
in anderen Bouquets enthalten sein, würde natürlich auch hier der
EPG angezeigt werden, auch wenn diese Bouquets gesperrt sind.

Die ganze Sache ich wahrscheinlich nicht bis ins letzte konfigurierbar, aber
recht einfach umzusetzen und meiner Meinung nach für die meisten
Nutzer völlig ausreichend und vor allem bedienbar.


Gruß
____Paule
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Ganz bloede Frage...

Kann ich mit dieser FunKtion dann auch z.B. das EPG von Sat1 dem Sender Sat1 Austria zuordnen ?

Meine Sagem spinnt naemlich bei den deutschen Transpondern von Sat1/ProSieben und das waere dann schoe doll ;-)
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

PT-1 hat geschrieben:Ganz bloede Frage...

Kann ich mit dieser FunKtion dann auch z.B. das EPG von Sat1 dem Sender Sat1 Austria zuordnen ?

Meine Sagem spinnt naemlich bei den deutschen Transpondern von Sat1/ProSieben und das waere dann schoe doll ;-)
Nö, soweit ich weiss ist es nicht möglich den EPG eines Senders auf
einen anderen zu mappen.


Gruß
____Paule
usul1
Erleuchteter
Erleuchteter
Beiträge: 760
Registriert: Freitag 14. Januar 2005, 12:42

Beitrag von usul1 »

PT-1 hat geschrieben:Kann ich mit dieser FunKtion dann auch z.B. das EPG von Sat1 dem Sender Sat1 Austria zuordnen ?
Den Wunsch hatte ich auch schonmal geäußert :-)

Aber du kannst beim Start natürlich das das Sat.1 Austria EPG von einer externen Datei laden lassen (XMLTV).

Ich habe bei mir jetzt ein NICK, DMAX und MTV EPG. Das klappt eigentlich ganz gut. Und dank der neuen EPG Filter funktion kann man das EPG JEDES Senders beim Start von einer externen Datei laden lassen.
PT-1 hat geschrieben:Meine Sagem spinnt naemlich bei den deutschen Transpondern von Sat1/ProSieben und das waere dann schoe doll ;-)
DECT Problem? Einfach mal die Abschirmung in Ordnung bringen.

cu
usul
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Hi,
also ich hab das mal umgebaut:

Jetzt wird die bouquets.xml vom sectionsd eingelesen und daraus automatisch (ohne Umwege über Files ) eine whitelist erzeugt. Das ganze kann man dann übers Gui abschalten.

Gruß Kroki
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

kroki hat geschrieben:Hi,
also ich hab das mal umgebaut:

Jetzt wird die bouquets.xml vom sectionsd eingelesen und daraus automatisch (ohne Umwege über Files ) eine whitelist erzeugt. Das ganze kann man dann übers Gui abschalten.

Gruß Kroki
Hallo kroki,

wo hast Du das denn umgebaut? Kannst Du da mal ein Diff posten?


Gruß
____Paule
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Hier :

Code: Alles auswählen

#define EPGFILTER_FILE "/var/tuxbox/config/zapit/bouquets.xml"
.
.
.
.
static void readEPGFilter(void)
{
        xmlDocPtr filter_parser = parseXmlFile(EPGFILTER_FILE);

        t_original_network_id onid = 0;
        t_transport_stream_id tsid = 0;
        t_service_id sid = 0;

        epg_filter_is_whitelist = true;
        epg_filter_except_current_next = false;

        if (filter_parser != NULL)
        {
                dprintf("Reading EPGFilters\n");

                xmlNodePtr filter = xmlDocGetRootElement(filter_parser);
/*
                if (xmlGetNumericAttribute(filter, "is_whitelist", 10) == 1)
                        epg_filter_is_whitelist = true;
                if (xmlGetNumericAttribute(filter, "except_current_next", 10) == 1)
                        epg_filter_except_current_next = true;
*/
                filter = filter->xmlChildrenNode;

                while (filter) {

                        xmlNodePtr filter1 = filter->xmlChildrenNode;
                        while (filter1) {

                                onid = xmlGetNumericAttribute(filter1, "onid", 16);
                                tsid = xmlGetNumericAttribute(filter1, "tsid", 16);
                                sid  = xmlGetNumericAttribute(filter1, "serviceID", 16);

                                addEPGFilter(onid, tsid, sid);
                                filter1 = filter1->xmlNextNode;
                        }

                        filter = filter->xmlNextNode;
                }
        }
        xmlFreeDoc(filter_parser);
}
Das ist die eigentliche Änderung in der sectionsd.cpp.

Dann müssen noch ein paar Änderungen im Neutrino gemacht werden um es An und Abzuschalten.

Kroki
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

mal ganz blöd frag ??
du redest von an/abschalten ??
mit welcher option schaltest du das ab ??

ansonsten wäre es toll, obwohl Nirvanas grundgedanke ja ein anderer war. es kanalbezogen an/abzustellen. bei deiner version wird ja global an/abgeschaltet.
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Hi Nirvana,

gibt es eigentlich einen besonderen Grund warum die die xml tags nicht so wie in der bouquet.xml genannt hast? Oder andersherum, spricht etwas dagegen ;)? Das würde die Zusammenstellung der Filterliste deutlich erleichtern, weil man dann nicht konvertieren müßte und nur copy/paste aus der Bouquetliste machen könnte. Dann könnte man den xml-Knoten auch gleich '<channel' anstatt '<filter' nennen.
Also so:
original_network_id -> onid
transport_stream_id -> tsid
service_id -> serviceID
<filter in <channel

Womit ich beim nächsten Thema wäre :)

Eigentlich gefällt mir Deine Lösung aus Programmiersicht ja sehr gut, weil sie übersichtlicht ist und übergeordnete 'Sammelfilter' zuläßt.

Aus Anwendersicht gefällt mir dann aber doch die Lösung mir einem 'epg' tag in der Bouquetliste besser (ich vermute mal das Kroki das auch so meinte?). Bei dieser Lösung könnte man dann komplett auf die epgfilter.xml verzichten und das ganze später unter Neutrino über den Bouqueteditor (oder Bouquetliste) konfigurierbar machen.
Allerdings ist das ganze Konzeptionell etwas komplizierter (weil mehr Abhängigkeiten). Ausserdem steigt die CPU-Belastung des sectionsd, weil es keine Sammelfilter mehr gibt und damit die interne Filterliste deutlich größer wird....

Ganz nebenbei, wie wäre es noch mit einem Neutrinomenüpunkt wie z.B. "EPG: AUS/JETZT-NÄCHSTE/ALLES/EPGFILTER" ? Dann könnte man bei Bedarf den Filter mal temporär komplett ausschalten, was dann wiederum restriktivere Filter erlauben würde.

Günther
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

@mb405

mein Gedanke ist ein anderer: Ich will EPG für alle Sender, die ich in meinen Bouquets habe. Was anderes macht für mich keinen Sinn (meine Meinung).
Ich will es so einfach wie möglich haben, dass heisst starten und gut. Es braucht keine Datei gepflegt zu werden und ich spare trotzdem den gleichen Speicher!

GUI-Config ist ein bischen komplizierter, da ich nicht mehr die Standard-Menüs benutze. Deshalb kann ich hierfür auch nicht so einfach ein Diff machen.

Als erstes musst du ein Variable in neutrino/src/settings.h zufügen, z.B: int epgfilter. Dann musst du diese als bool in neutrino/src/neutrino.cpp zu den load / store Variablen dazufügen. Dann noch ein Menü suchen wo es rein soll und einen vorhandenen Menüpunkt kopieren und die Variablen anpassen. Die Locales auch noch anpassen und dann hasst du es konfigurierbar.
Nun noch den sectionsd anpassen. Variable aus der Config auslesen und den readEPGfilter-Aufruf vom Status der Variable abhängig machen.


So geht es in groben Zügen.....

Kroki
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

jep die auswahl ""EPG: AUS/JETZT-NÄCHSTE/ALLES/EPGFILTER"" würde ich begrüßen.

danke kroki. das sollte ich hinbekommen ;) ich hab eh eine sectionsd.config. da passt das dann rein .

man könnte ja auch mehrere funktionen schreiben dazu, und die dann entsprechend aufrufen. ohhhh viele möglichkeiten
Zuletzt geändert von mb405 am Dienstag 2. Januar 2007, 19:41, insgesamt 1-mal geändert.
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

@Kroki & MB405

Koennt Ihr euer Zeug auch mal posten...Man weis ja nie, eventuell wird das ein oder andere ja mal CVS Standard :D
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich glaube nicht, das mein stückwerk sehr großen anklang findet :( alle epgsachen sind ja raus aus dem neutrino code, und sind in einen extra code.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

@kroki
wenn ich das so mache, wie du gepostet hast, dann habe ich keinen epg mehr. irgendwas mache ich noch falsch. der sectionsd start dauert auch ewig.

kommando zurück. jetz gehts buchstabendreher drin ;(
usul1
Erleuchteter
Erleuchteter
Beiträge: 760
Registriert: Freitag 14. Januar 2005, 12:42

Beitrag von usul1 »

kroki hat geschrieben:mein Gedanke ist ein anderer: Ich will EPG für alle Sender, die ich in meinen Bouquets habe. Was anderes macht für mich keinen Sinn (meine Meinung).
Und um mal eine andere Meinung zu bringen. Ich will KEIN Bougetweites EPG Ja/Nein. Das würde das ganze EPG filtern für mich unbrauchbar machen.

Nicht das da jetzt (Nachdem dieses langerwartete Feature endlich da ist) einer anfängt das so umzubasteln das es nur noch Bougetweise geht :-)

cu
usul
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

... also, da muss ich usul1 zustimmen !
... am ende moechte ich schon selber entscheiden muessen/koennen, in welchen bouqet der sender ist, dessen epg ich auf aus/next/all/filter stelle.
(sprich: macht es sender-bezogen nicht bouqet-bezogen)
DANKE !!!
cu token
sagem-avia600_enx-1xi-cable-telecom
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Keine Panik Leute ;)

Es gibt hier ja mittlerweile mehrere Überlegungen. Bei Nirvanas/PouleFoule/meiner Idee gibt es doch innerhalb der Bouquets viele einzelne Kanäle, die man anwählen könnte. Das einzige Problem ist nur, das ein Kanal in mehreren Bouquets sein kann.

Die Lösung von Kroki ist dagegen sehr speziell auf seine Bedürfnisse zugeschnitten. Bei mir wäre der Filtereffekt nach seiner Methode gleich null, da ich alle Sender, die viel EPG-Speicher verbrauchen (ARD, ZDF, ARD-Radio, Dritte) in irgendeinen Bouquet habe. Sehr unwahrscheinlich, daß das so ins cvs kommt ;), aber interessant ist seine Lösung ja allemal.

Günther