Block-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Probleme)
K (Beschreibung)
Zeile 6: Zeile 6:
 
Das block-plugin ist ein fork des verwaisten [[taste-plugin]] von LordJaxom. Grundlage bildete ein CVS checkout des taste plugins im Januar 2010 sowie [http://www.vdr-portal.de/board/thread.php?threadid=90293 patches] von tomg und mapovi.  
 
Das block-plugin ist ein fork des verwaisten [[taste-plugin]] von LordJaxom. Grundlage bildete ein CVS checkout des taste plugins im Januar 2010 sowie [http://www.vdr-portal.de/board/thread.php?threadid=90293 patches] von tomg und mapovi.  
  
Als Weiterentwicklung des taste-plugin dient das block-plugin zunächst einmal ebenso dazu Sendungen anhand ihres EPG-Titels beim Umschalten zu sperren, was zum Beispiel aus Gründen des Niveaus notwendig sein kann. Das block-plugin kann darüber hinaus auch permanent mit dem aktuellen EPG-Titel abgleichen, es bietet zusätzliche whitelisting-Funktionalität und ermöglicht die Einrichtung einer optionalen konfigurierbaren Kindersicherung (inklusive Berücksichtigen der rating-Information aus dem DVB stream sowie Verhindern des Abspielens von Aufnahmen mit gesperrtem Titel). Ferner werden auch Sender ohne oder mit leerem EPG berücksichtigt. Außerdem sind die Probleme des taste-plugins mit Budget/non-FF output Konfigurationen sowie mit dem Freischalten per ‚Ok’-Taste behoben.
+
Als Weiterentwicklung des taste-plugin dient das block-plugin zunächst einmal ebenso dazu Sendungen anhand ihres EPG-Titels beim Umschalten zu sperren, was zum Beispiel aus Gründen des Niveaus notwendig sein kann. Das block-plugin kann darüber hinaus auch permanent mit dem aktuellen EPG-Titel abgleichen, es bietet zusätzliche whitelist-Funktionalität und ermöglicht die Einrichtung einer optionalen konfigurierbaren [[Kindersicherung]] (inklusive Berücksichtigen der rating-Information aus dem DVB stream sowie Verhindern des Abspielens von Aufnahmen mit gesperrtem Titel). Ferner werden auch Sender ohne oder mit leerem EPG berücksichtigt. Außerdem sind die Probleme des taste-plugins mit Budget/non-FF output Konfigurationen sowie mit dem Freischalten per ‚Ok’-Taste behoben.
  
 
Statt einer gesperrten Sendung wird ein schwarzer Bildschirm ohne Ton angezeigt und es erscheint eine entsprechende Meldung im OSD (Standard: 2 Sekunden lang). Während der Anzeige dieser Meldung kann der Benutzer per ‚Ok’ das Programm freischalten und die Sendung trotz Sperre schauen, er kann mit (Channel) Up/Down das Programm weiterzappen oder er macht nichts. In diesem Fall schaltet der VDR nach Anzeige der Meldung selbständig auf ein anderes Programm und zwar regulär in Richtung des letzten Umschaltens (z.B. 55->54[gesperrt]->53 bzw. umgekehrt). Sollte dies nicht möglich sein fällt das Plugin auf den zuvor geschauten Kanal zurück.
 
Statt einer gesperrten Sendung wird ein schwarzer Bildschirm ohne Ton angezeigt und es erscheint eine entsprechende Meldung im OSD (Standard: 2 Sekunden lang). Während der Anzeige dieser Meldung kann der Benutzer per ‚Ok’ das Programm freischalten und die Sendung trotz Sperre schauen, er kann mit (Channel) Up/Down das Programm weiterzappen oder er macht nichts. In diesem Fall schaltet der VDR nach Anzeige der Meldung selbständig auf ein anderes Programm und zwar regulär in Richtung des letzten Umschaltens (z.B. 55->54[gesperrt]->53 bzw. umgekehrt). Sollte dies nicht möglich sein fällt das Plugin auf den zuvor geschauten Kanal zurück.
  
Bei Einrichtung als Kindersicherung werden verschiedene Einstellungen automatisch gesetzt und gegen Veränderung gesperrt oder eingeschränkt (Detektionsmethode, Freischalten, Editieren/Löschen von Einträgen, Whitelisten etc.).
+
Bei Einrichtung als [[Kindersicherung]] werden verschiedene Einstellungen automatisch gesetzt und gegen Veränderung gesperrt oder eingeschränkt (Detektionsmethode, Freischalten, Editieren/Löschen von Einträgen, Whitelist etc.).
  
 
<!-- ===Status=== -->
 
<!-- ===Status=== -->

Version vom 25. Juni 2013, 19:32 Uhr

Inhaltsverzeichnis

Beschreibung

Autor: Michael Schneider


Das block-plugin ist ein fork des verwaisten taste-plugin von LordJaxom. Grundlage bildete ein CVS checkout des taste plugins im Januar 2010 sowie patches von tomg und mapovi.

Als Weiterentwicklung des taste-plugin dient das block-plugin zunächst einmal ebenso dazu Sendungen anhand ihres EPG-Titels beim Umschalten zu sperren, was zum Beispiel aus Gründen des Niveaus notwendig sein kann. Das block-plugin kann darüber hinaus auch permanent mit dem aktuellen EPG-Titel abgleichen, es bietet zusätzliche whitelist-Funktionalität und ermöglicht die Einrichtung einer optionalen konfigurierbaren Kindersicherung (inklusive Berücksichtigen der rating-Information aus dem DVB stream sowie Verhindern des Abspielens von Aufnahmen mit gesperrtem Titel). Ferner werden auch Sender ohne oder mit leerem EPG berücksichtigt. Außerdem sind die Probleme des taste-plugins mit Budget/non-FF output Konfigurationen sowie mit dem Freischalten per ‚Ok’-Taste behoben.

Statt einer gesperrten Sendung wird ein schwarzer Bildschirm ohne Ton angezeigt und es erscheint eine entsprechende Meldung im OSD (Standard: 2 Sekunden lang). Während der Anzeige dieser Meldung kann der Benutzer per ‚Ok’ das Programm freischalten und die Sendung trotz Sperre schauen, er kann mit (Channel) Up/Down das Programm weiterzappen oder er macht nichts. In diesem Fall schaltet der VDR nach Anzeige der Meldung selbständig auf ein anderes Programm und zwar regulär in Richtung des letzten Umschaltens (z.B. 55->54[gesperrt]->53 bzw. umgekehrt). Sollte dies nicht möglich sein fällt das Plugin auf den zuvor geschauten Kanal zurück.

Bei Einrichtung als Kindersicherung werden verschiedene Einstellungen automatisch gesetzt und gegen Veränderung gesperrt oder eingeschränkt (Detektionsmethode, Freischalten, Editieren/Löschen von Einträgen, Whitelist etc.).


Bilder

Die Bilder stammen aus der aus der Version 0.1.0. Aktuelle Änderungen bitte immer in HISTORY und README oder im VDR-Portal nachlesen.

Datei:Blocked-block-00.jpg
Aktuelle Sendung ist gesperrt
Datei:Setup-block-01.jpg
Setup (mit aktivierter Kindersicherung)

Bedienung

Sendungen sperren

Sendungen lassen sich im Hauptmenü des VDR unter ‚Sendung (ent)sperren’ in die blacklist des block-plugins aufnehmen. Der aktuelle EPG-Titel ist damit in die Mustererkennung des Plugins aufgenommen und wird fortan gesperrt.


Sendungen freigeben / editieren / manuell hinzufügen

Seit Version 0.0.4 dient auch der Hauptmenüeintrag zur permanenten Freigabe. Soll eine gesperrte Sendung wieder permanent freigegeben werden, reicht es diese per 'Ok' zunächst temporär freizugeben und dann einfach im Hauptmenü wieder 'Sendung (ent)sperren' anzuwählen. Der Titel ist dann wieder entsperrt.

Für diese und die weiteren Funktionen kann ansonsten der Einstellungsdialog des block-plugins im VDR aufgerufen werden. Unterhalb der Konfigurationsparameter befindet sich die Liste gesperrter Sendungen, deren Einträge per Farbtaste verändert werden können:

Rot - Editieren: Es erscheint ein Untermenü, in dem der Benutzer den Titel verändern kann sowie ein Schalter zum Ignorieren von Groß-/Kleinschreibung und es gibt die Möglichkeit den Eintrag als regulären Ausdruck zu markieren.

Grün - Neu: Legt ‚Neuer Eintrag’ an. Dieser lässt sich danach durch das Editieren anpassen.

Gelb – Löschen: Nach Bestätigung wird der aktuelle Eintrag gelöscht.

Blau - +/-: Schaltet den aktuellen Eintrag auf freigegeben (+) oder gesperrt (-)

Die Trefferliste kann auch manuell per Editor bearbeitet werden (siehe Konfiguration).


Softwareanforderungen

Das block-plugin wird mit VDR Version 1.6.0 und der aktuellen Entwicklerversion getestet.


Konfiguration

Manuelles Editieren der Regelliste

Die Trefferliste des plugins befindet sich seit Version 0.1.0 in der folgenden Datei (Trefferlisten älterer Versionen des taste- oder block-plugns werden automatisch erkannt, importiert und die neue Datei angelegt):

$VDRCONFIG/plugins/block/block.conf

Frühere Versionen nutzten den Pfad $VDRCONFIG/plugins/block.conf bzw taste.conf. Beim ersten Start mit einer Version des block plugins >=0.1.0 werden der neue Pfad und die Datei automatisch angelegt. Dabei werden alte Versionen der Liste des taste-plugins oder des block-plugins berücksichtigt und auf deren Grundlage die neue Datei erzeugt. Währenddessen werden doppelte Einträge (ignoriert Groß/Klein) entfernt und alle Einträge als gesperrt markiert. Die zu Grunde liegende alte Trefferliste wird außerdem als Backup im gleichen Pfad unter dem Namen block.conf.safe-pre0.1.0 abgelegt.

Die Trefferliste lässt sich mit jedem linuxkonformen Editor bearbeiten. Eine Zeile besteht aus vier Einträgen:


X:Y:Z:Muster


X: 0 = Muster ist kein regulärer Ausdruck; 1 = Muster ist regulärer Ausdruck

Y: 0 = Groß-/Kleinschreibung interpretieren; 1 = Groß-/Kleinschreibung ignorieren

Z: + = Muster bezeichnet freigegebene Sendung(en); - = Muster bezeichnet gesperrte Sendung(en)

Muster: EPG-Titel bzw. Teil des EPG-Titels (Schlagwort) der Sendung oder regulärer Ausdruck


Umstieg vom taste-plugin auf das block-plugin

Seit Version 0.1.0 des block plugins werden ältere Trefferlisten des taste oder des block-plugins automatisch importiert.

Kindersicherung (experimentell)

Für die Einrichtung einer Kindersicherung sind verschiedene Einstellungen notwendig, die sich jedoch in $VDRCONFIG/setup.conf mit einer Einstellung automatisch setzen lassen. Es ist notwendig das laufende Programm permanent auf gesperrte Titel zu untersuchen das Freischalten per ‚Ok’ und im Hauptmenü zu verhindern sowie das Löschen und Whitelisten von Einträgen zu verhindern und das Anlegen neuer Einträge und das Editieren einzuschränken. Durch Hinzufügen der Zeile

block.ParentalGuidance=1

in $VDRCONFIG/setup.conf werden die aktuellen Werte dieser Einstellungen überschrieben und die entsprechenden Funktionen gesperrt. Damit die Zeile in der setup.conf angenommen wird, muss der VDR während des Editierens gestoppt sein. Um die Kindersicherung wieder abzuschalten kann die Zeile einfach gelöscht werden, oder block.ParentalGuidance=0 gesetzt werden (beides ebenfalls bei gestopptem VDR).

Um beispielsweise alle Sendungen per se zu sperren (alle!) und nur noch whitelist-Regeln freizuschalten, kann man zum Beispiel folgenden regulären Ausdruck (muss für diesen Eintrag natürlich aktiviert sein) Regel definieren: [.]*

Seit Version 0.1.2 werden auch Altersfreibeinformationen aus dem DVB-Stream berücksichtigt (ab vdr 1.7.11). Dabei werden per se alle Sendungen mit einem rating von 0 oder ohne rating gesperrt. Ferner werden Sendungen automatisch freigegeben, die ein unterhalb der im plugin setup angegebenen Grenze liegendes rating haben. Da die meisten Sender und somit die meisten Sendungen keine ordentlichen Informationen mitsenden (rating immer 0) berücksichtigt block nur Werte ab 1. Dies führt automatisch dazu, dass bei Angabe eines Wertes bei 'Alterfreigabe (DVB)' fast alle Sendungen gesperrt sind. Dazu gehören dann auch Kindersendungen, die korrekterweise keine Altersbeschränkung haben und es werden nur Sendungen automatisch freigegeben, deren rating innerhalb der im setup angegebenen Grenze liegt.


Aber Vorsicht: Bei aktiviertem Kindersicherungsmodus gibt es dann keine direkte Möglichkeit nachträglich whitelist-Einträge hinzuzufügen.


Hinweis
Hinweis

Diese Form der Kindersicherung möchte und kann die Eltern in ihrer Aufsichtspflicht nicht ersetzen. Der Autor des block-plugins übernimmt daher keinerlei Verantwortung für die Funktion als Kindersicherung.


Einstellungen

Hauptmenüeintrag verstecken - ‚Sendung sperren’ im Hauptmenü des VDR wird angezeigt oder nicht

Wartezeit bis Umschalten [s] - Dauer der Meldung im OSD, bei Detektion einer gesperrten Sendung und Gelegenheit zur Benutzerinteraktion (maximal 10 s)

Detektionsmethode - ‚Beim Umschalten’ ist die Methode, wie sie bereits vom taste-plugin bekannt ist. Es wird nur beim Umschalten mit der Sperrliste abgeglichen. Bei der Methode ‚Kanal EPG’ wird dagegen permanent der aktuelle EPG-Titel untersucht, so dass auch bei Beginn einer gesperrten Sendung auf dem aktuellen Kanal die Blockfunktion greift.

Ok entsperrt temporär - Legt fest, ob der Benutzer bei einer Sperrmeldung im OSD das gesperrte Programm mit ‚Ok’ temporär (bis zum nächsten Umschalten) freischalten kann oder nicht.

Unschärfepriorität - Durch die Kombination von whitelist- und blacklist-Einträgen kann es vorkommen, dass widersprüchliche Treffer in der Liste gefunden werden. In diesem Fall fällt das plugin auf den Wert der Option 'Unschärfepriorität' zurück.

Altersfreigabe (DVB) - Altersangabe für die Freigabe von Sendungen, die eine verlässliche rating-Angabe im DVB-stream enthalten (ab block 0.1.2 sowie vdr 1.7.11) für automatisches Freigeben von Sendungen. 0 = deaktiviert.


Funktionsweise

Die Entscheidungfindung, ob ein Eintrag als gesperrt oder nicht gesperrt erachtet wird läuft wie folgt:

1. Sammeln aller zutreffenden Regeln in der Liste

2. Ist keine zutreffende Regel vorhanden wird der Titel als freigegeben bewertet.

3. Sind alle zutreffenden Regeln blacklist ODER whitelist Einträge wird anhand dessen bewertet.

4. Werden widersprüchliche Regeln gefunden, fällt das Plugin auf den im Setup eingestellten Wert der Option 'Unschärfepriorität' zurück.

5. Stimmt ein Treffer exakt mit dem aktuellen EPG-Titel überein, so genießt dieser Treffer höchste Priorität und es wird anhand dieses Treffers bewertet.

So ist es möglich auch bei umfassenden regulären Ausdrücken oder bei häufiger zutreffenden Teilausdrücken (Beispiel: 'Richter' ist blacklistet 'Der Richter und sein Henker' soll aber whitelistet sein.), trotzdem bequem und schnell über das Hauptmenü eine fälschlich miteinbezogene Sendung freizugeben ohne die umfassendere oder unscharfe Regel zu verändern oder zu löschen.

Zur Vermeidung von Duplikaten wird bei Ignorieren von Groß/Kleinschreibung nach einem exakten Treffer in der Liste gesucht, und gegebenenfalls lediglich dessen Attribut white/blacklist sowie eventuell das Attribut Groß/Kleinschreibung umgeschaltet.

Probleme

Die Sperrfunktionen des block-plugins wie auch des taste-plugins reagieren auf den aktuell im VDR gemeldeten EPG-Titel der laufenden Sendung. Sind diese EPG-Informationen nicht korrekt, weil zum Beispiel der Sender seine EPG-Daten nicht synchron aktualisiert, beeinflusst dies natürlich auch die Sperrfunktion. Bitte besonders bei Nutzung als Kindersicherung beachten. Ferner kann bei Nutzung der Kindersicherung die Information aus dem EPG eine andere sein als die Information aus dem DVB-stream. Letzterer hat in diesem Fall Priorität.

Snapshot

Kleinere Änderungen und bugfixes landen immer als erstes im master branch des git repository, den man so beziehen kann:

git clone git://projects.vdr-developer.org/vdr-plugin-block.git

Daneben werden neue features im dev branch eingebaut. Wer bei der Entwicklung weiterhelfen möchte oder einfach nur Interesse an den neuen features hat, kann daher diesen Zweig (im zuvor mit clone bezogenen Verzeichnis) folgendermaßen auschecken:

git checkout --track -b dev

Zwischen den branches lässt sich dann mit git checkout <branchname> wechseln, so dass man wahlweise den code des einen oder des anderen Zweig vorliegen hat.

Aktuelle Version

GIT-Updates können dann im jeweiligen branch mit git pull bezogen werden.

Zwischen den branches kann mit git checkout <branchname>, also z.B. mit git checkout master in den master branch gewechselt werden.

git branch zeigt die vorhandenen branches an, wobei das Asterisk den branch markiert, indem man sich momentan befindet (HEAD).

Links

  1. Homepage des Plugins
  2. Thread im VDR-Portal