1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Talk Hilfe bei der Entwicklung eines Plugins zum schnellen Überspringen von Werbung

Dieses Thema im Forum "Gigablue Quad" wurde erstellt von Fischreiher, 22. Dezember 2013.

  1. Fischreiher
    Offline

    Fischreiher Newbie

    Registriert:
    26. Oktober 2013
    Beiträge:
    21
    Zustimmungen:
    3
    Punkte für Erfolge:
    0
    Beim Topfield gab es ein geniales Plugin zum schnellen Überspringen von Werbung, das nach dem Prinzip der binären Suche funktionierte. Gesprungen wurde mit zwei Tasten vor und zurück, wobei sich der Sprungabstand bei jedem Richtungswechsel halbierte, z.B. bei einer Werbepause von 7:41:

    Code:
    ">"  springt +2:00  zu +2:00
    ">"  springt +2:00  zu +4:00
    ">"  springt +2:00  zu +6:00
    ">"  springt +2:00  zu +8:00
    "<"  springt -1:00  zu +7:00
    ">"  springt +0:30  zu +7:30
    ">"  springt +0:15  zu +7:45
    "<"  springt -0:08  zu +7:37
    ">"  springt +0:04  zu +7:41
    Aufgrund eines Patents auf diesen Algorithmus (

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    ) würde ich nie auf die Idee kommen, so etwas zu schreiben oder zu veröffentlichen. Wenn aber für den initialen Sprungwert und für die Sprungwerte nach dem Richtungswechseln beliebige Zeiten einstellbar sind, kann ich ja nichts dafür, wenn ein User mit genug krimineller Energie dort 2:00, 1:00, 0:30, 0:15, 0:08 und 0:04 einstellt.

    Da ich nicht genug Erfahrung habe, um ein Plugin "von null" aus zu schreiben, wollte ich mich in das MultiQuickButton 'reinhängen, das die Zuordnung von Funktionen zu Tasten elegant verwaltet. In der XML-Datei "mqbfunctions.xml" sind hier diverse Funktionen beschrieben.

    edit:

    Ich habe es gerade geschafft, hier eine Sprungfunktion (+15s) hinzuzufügen:

    plugin.py
    Code:
    from  Screens.InfoBarGenerics import InfoBarSeek
    mqbfunctions.xml
    Code:
    <mqbfunction>
    <name>Jump +15s</name>
    <code>from Screens.InfoBar import InfoBar
    if InfoBar and InfoBar.instance:
        InfoBar.doSeekRelative(InfoBar.instance, 15 * 90000)</code>
    </mqbfunction>
    Ich komme erst mal weiter, ohne wirklich zu verstehen, was ich mache...
     
    Zuletzt bearbeitet: 22. Dezember 2013
    #1
  2. phantom

    Nervigen User Advertisement

  3. Fischreiher
    Offline

    Fischreiher Newbie

    Registriert:
    26. Oktober 2013
    Beiträge:
    21
    Zustimmungen:
    3
    Punkte für Erfolge:
    0
    AW: Hilfe bei der Entwicklung eines Plugins zum schnellen Überspringen von Werbung

    Nachdem ich vorgestern noch keine Ahnung von Python hatte, habe ich es tatsächlich geschafft, den Algorithmus mit Sprüngen und Timeout zu implementieren.

    Der Timeout sorgt dafür, dass, nachdem die richtige Stelle gefunden wurde, der nächste Suchvorgang wieder mit dem initialen Sprungwert beginnt.

    Jetzt fehlt mir noch die Anzeige der Zeit, um die im aktuellen Suchvorgang gesprungen wurde (Werbung überspringen macht doppelt Spaß, wenn man dabei sieht, wie viel man übersprungen hat.) Diese Zeit würde ich gerne in die obere Infoleiste mit einblenden, in der z.B. beim Timeshift schon der Wert steht, um den der Timeshift gerade versetzt läuft.

    Weiß jemand, wie man zur oberen Infoleiste eine zusätzliche Information hinzufügen kann?
    Oder kann man über eine randlose Infobox die Zeitangabe einfach drüberkleben?
     
    #2
  4. McMighty
    Offline

    McMighty Moderator Digital Eliteboard Team

    Registriert:
    2. März 2009
    Beiträge:
    9.389
    Zustimmungen:
    4.697
    Punkte für Erfolge:
    113
    Beruf:
    Inscheniör
    Ort:
    Bodensee
    AW: Hilfe bei der Entwicklung eines Plugins zum schnellen Überspringen von Werbung

    Hm, ich befürchte, hier wirst Du auf wenig Entwickler treffen.
    Ich selber kam bisher mit Python nur sehr wenig in Kontakt. Wenn ich es im Geschäft mal brauchen sollte, werde ich Dir dann eher helfen können. Aber bisher komme ich mit C gut durch :)

    Aber ich denke, es geht beides. Man kann die Infoleiste mit etwas belegen, oder ein Fenster aufpoppen lassen. Vielleicht kannst Du in den Python Skripten vom MyMetrix (Mod by BinIckNich) Skin was finden. Da kann man ja variabel die Informationen in der Infoleiste an- oder abschalten. Eventuell kannst Du Dich da inspirieren lassen.

    Ansonsten findest Du eben jenen BinIckNich im Gigablue Board oder bei den Jungs von openATV.
     
    #3
  5. Fischreiher
    Offline

    Fischreiher Newbie

    Registriert:
    26. Oktober 2013
    Beiträge:
    21
    Zustimmungen:
    3
    Punkte für Erfolge:
    0
    Danke, ich habe mich inspirieren lassen und einfach meine eigene Infoleiste als Screen definiert und in der eingebetteten Skin die Informationen aus "TimeshiftState" mit meinen Informationen kombiniert.

    Meine Sprungfunktionen funktionieren schon ganz gut im Timeshift-Buffer. Ich habe mich dabei in die "InfoBarPlugins.__init__" reingehängt, um die Tasten abzufragen, und benutze zum Springen "InfoBarSeek.doSeekRelative(InfoBar.instance, pts)".

    Nun sollen die Sprünge aber auch bei der Wiedergabe einer zuvor aufgezeichneten Sendung funktionieren. Ich befürchte, dass ich im Player mit den InfoBar-Funktionen nicht weiterkomme, da diese nur für Live-TV und Timeshift gelten.

    Liege ich da richtig? Und kann mir jemand ein Plugin empfehlen, in dem ich mir entsprechende Funktionen für Tastenabfrage und Sprünge im Wiedergabemodus angucken kann?

    Ich habe das Plugin jetzt hier veröffentlicht:

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

     
    Zuletzt von einem Moderator bearbeitet: 21. April 2014
    #4

Diese Seite empfehlen