dreambox "anytime"

Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...


-> Aktuell bereiten wir das Upgrade auf die aktuelle Version 6 von Woltlab vor.
  • Hallo,


    da ich schon immer mal ein Plugin wollte das mir alle Neuausstrahlungen aufnimmt oder mir neue Folgen von Serien aufnimmt habe ich mal angefangen sowas zu bauen.


    Da ich kein Python kann, aber ziemlich gut PHP läuft das ganze bisher auf meinem selbstbau NAS. Ich vermute aber es wird auch auf jedem fertigen NAS laufen, solange die Leistung für die lineare Optimierung ausreicht.


    Bisher funktioniert das:
    - Auslesen von Sendungen aus Online Quellen
    - automatisches aufnehmen
    - jede Sendung hat dabei eine Priorität die bei Tunerengpässen bestimmt was aufgenommen wird
    - Anpassen der Priorität bei Serien (was geschaut wird bekommt höhere Priorität, was nicht geschaut wird verliert Priorität)
    - ein Tuner bleibt dabei immer frei, die restlichen werden optimal ausgenutzt
    - Planen der Aufnahmen durch lineare Optimierung (maximierung der Summe aller Prioritäten von Aufnahmen)
    - automatisches löschen der Aufnahmen nach X Tagen
    - Abspielen der Aufnahmen über Enhanced Movie Center


    Was noch geplant ist:
    - automatisches hinzufügen neuer Episoden von Serien mit genügend hoher Priorität aus EPG Daten
    - optisch schöneres Abspielen der Aufnahmen über internes Plugin oder HBBTV
    - wie bei EMC erkennen wann eine Aufnahmen schonmal abgespielt wurde (wie zeigt EMC da den Status an?)


    Ein Wunschzustand wäre:
    - Optische übereinstimmung zwischen Skin und Oberfläche der Aufnahmen
    - Integration des Filmarchivs mit zu den "Anytime" Aufnahmen
    - Eine Funktion im Skin ähnlich dem "Timer hinzufügen" zum hinzufügen von Anytime Aufnahmen
    - zusätzliche Informationen in der Statusbar (schaut man zbsp eine Serie für die Folgen in Anytime oder dem Archiv existieren kann man das dort erkennen und diese per klick auflisten)


    Aktuelle Probleme:
    - (noch) kein HBBTV
    - Ich kann bis jetzt kein Python
    - auslesen das Abspielzustandes aus den Zusatzdateien der Aufnahmen?


    Für Tipps oder neue Ideen bin ich dankbar.


    Im Anhang sind 2 Bilder wie das ganze bisher als Webseite aussieht.


    mfg weghn


    [Edit]


    Inzwischen hab ich mal eine rudimentäre experimental Version die lauffähig ist.
    Aktuell habe ich leider wenig Zeit, vieleicht kennt sich ja jemand gut genug aus um die kleinen Fehler im Simplex Algorithmus bzw. den Nebenbedingungen zu finden.
    Die Zipdatei und Anleitung hab ich kurz ungetestet erstellt, ich hoffe es fehlt keine Datei.


    Bei Fragen/Problemen/Verbesserungen gerne im Thread melden, bei Themen wie Apache/PHP/MySQL installieren bitte das Internet nutzen dort gibt es tausende Howto's.


  • sehr cool :)


    ich wollte etwas ähnliches in project valerie einbauen.


    jetzt wo du aber die sache hier hast könnte man das ja vielleicth integrieren oder vielleicht sogar portieren.


    hast du da generell interesse sich mal über die idee auszutauschen?


    greets

  • das wäre wirklich geil, gab schon den ein oder anderen versuch hier im forum - verlief aber früher oder später leider immer irgendwie im sand.


    coole sache...

    DM8000 1,5 TB HDD
    DM800
    DM900 UHD
    Onkyo 807 + Teufel Motiv 10
    Sky Full HD


  • Interesse schon ja.


    Die Frage ist ja erstmal ob es überhaupt komplett intern läuft. Das parsen der Webseiten und das Optimieren der Aufnahmen ist schon recht CPU intensiv.
    Auf meinem I5-2500 dauert das ausrechnen der optimierten Timer ca 10-15 Sekunden bei 100% Auslastung auf einem Kern. PHP ist dafür wohl allerdings auch nicht die schnellste Sprache.
    Da ich selber kein Python und kaum c kann und eh meinen Archivserver habe ist das die für mich beste Lösung. Der Nachteil ist das halt nicht jeder ein NAS hat.

  • Hat sich hier schon was getan in richtung Plugin?


    Ansonsten währe ich sehr an dem Source interessiert um es auf meinem Server laufen zu lassen.

  • von wo kann man sich das Tool runterladen?
    Wird es weiterentwickelt?


    LG
    Lim0707

    -----------
    WaveFrontier T90
    Sirius 4.8 | Eurobird 9° | Hotbird 13° | Astra 19.2 | Astra 23.5° | Astra 28.5° | Astra 31.5° | Hellas 39° | Intelsat 12 45°

    2 Mal editiert, zuletzt von Lim0707 ()

  • Gibt es so ein Plugin denn schon für Enigma2? Stelle mir das ganze wie folgt vor:
    In dem Plugin soll man einstellen können, wie viel GB vom NAS/externe Festplatte für "Anytime" benutzt werden dürfen. Das Plugin bekommt über Internet Anweisungen, welche Filme aufgenommen werden sollen, z.B. alle Neustarts auf Sky Cinema (Listen hierzu gibt es ja in diversen Foren). Wenn die Dreambox jetzt nicht im Standby ist und man schaut gerade zu einem Neustart zB ARD, dann soll nichts aufgenommen werden, wenn die Dreambox jetzt aber im Standby Modus ist, dann soll das Plugin den Neustart aufnehmen, falls man aber in dem Moment ARD schaut, dann soll das Plugin EPG durchsuchen, wann der Film wieder läuft und dann zB nachts, wenn der Receiver im Standby ist, aufnehmen. Falls man zufällig während der Aufnahme den Receiver einschalten sollte, dann soll die aktuelle Aufnahme unterbrochen werden und der Benutzer kann ganz normal TV schauen und EPG soll wieder nach einem Termin durchsucht werden, wann der Film wiederholt wird. Hoffe ich habe mich verständlich ausgedrückt. Wenn dann der vorgeschriebene Speicherplatz irgendwann voll werden sollte, dann soll das Plugin die Aufnahme, die am längsten auf der Platte ist löschen, damit wieder Speicherplatz für neue Aufnahmen frei wird. Als nettes Gimmick wäre eine Liste der Aufnahmen wie beim echten Anytime schön, mit Cover und Beschreibeung aus dem EPG

  • Der Plan ist schonmal da und auch gut beschrieben.


    Gefällt mir :winking_face:


    Jetzt hoffen wir doch mal, dass sich sowas auch umsetzen lässt.
    Ich würde mich jedenfalls gerne zum testing anbieten!
    Die Programmierung muss ich (wie im Geschäft täglich leider auch...) anderen überlassen, da das meinen IT-Kenntnisstand übersteigt.

  • Würde mich ebenfalls als Tester zur Verfügung stellen.


    Da ich nur ein bisschen C++ und kein Python kann, muss ich die Programmierung auch jemand anderem überlassen. Ich hoffe, dass sich jemanden finden wird.

  • Finde die Idee auch sehr gut nur leider scheint sich hier nichts mehr zu tun oder?


    MfG Gerry

  • Hallo,


    ich hatte 4 Monate lang keinen SAT Empfang mehr und daher auch keinen Nutzen mehr davon. Zufälligerweise habe ich vor ein paar Tagen wieder damit angefangen daran langsam etwas weiterzubauen.
    Aktuell in arbeit ist folgendes:
    - importieren der vorhandenen Filme/Serien aus einer XBMC Datenbank
    - importieren der "watched" Flags aus XBMC in eine Datenbank
    - aktuelles Programm das geschaut wird erkennen und abspeichern bei den "watched" Flags aus XBMC
    - abgleich der "watched" Flags mit "anytime" (falls eine Aufnahme über XBMC von der Dreambox geschaut wird)
    - abgleich der "watched" Flags mit XBMC (über anytime oder live geschaute Medien in XBMC als gesehen markieren)
    - da ich aktuell nur eine DM800 habe, nur Aufnehmen falls Dreambox im Standby und evtl. Aufnahmen beim einschalten automatisch abbrechen.


    Über die Datenbank aller vorhandenen oder gesehen Serien können dann auch automatisch neue Folgen aufgenommen werden.


    Aktuell gibts noch ein paar Probleme:
    - manchmal werden Aufnahmen nicht optimal verteil weil die Optimierung noch nicht optimal arbeitet. Optimiert wird über alle zukünftigen bekannten Events mit den Ausstrahlungszeiten aus dem EPG oder Online Quellen, also teilweise 2 Monate im vorraus. Das hat z.Bsp auch Nachteile(je nach Sichtweise): eine Erstaustrahlung eines Films (der noch oft läuft) wird nicht aufgenommen und aufgenommen wird dagegen lieber eine Serienfolge die nur noch einmal wiederholt wird.
    - wie werden die Prioritäten festgelegt für optimale Ergebnisse. Aktuell von 0 (nicht aufnehmen) bis 10: Film 5, Serie 6, Erstausstrahlung 8, Highlight 7. Nachdem eine Folge angesehen wurde wird die Priorität sofort um +1 erhöht. Wenn eine Folge ungesehen gelöscht wird um -1 veringert. Andere Ideen?
    - wie wird festgelegt welche angeschauten Serien/Sendungen ab wann und mit welcher Priorität aufgenommen werden. Ideen?



    An eine Art Webservice der eine Liste von Sendungen liefert und evtl die Optimierung durchführt habe ich auch schon gedacht, aber da ich kein Python kann und aktuell auch keine Lust es zu lernen bleibt das ganze von mir aus ohne Plugin. Höchstens wenn HBBTV rauskommt darüber.


    Aktuell ist das ganze auch noch etwas zu viel Bastelei um es öffentlich anzubieten.


    Wer Python kann und helfen will kann sich gerne melden. Entweder für eine kleines Plugin das nur die Anytime Aufnahmen schön aufbereitet, es ermöglicht über das EPG eine Sendung in Anytime aufzunehmen und evtl. passende zum Live TV anzeigt wenn die Sendung in Anytime verfügbar ist oder andere Folgen der Serien vorhanden sind. Oder ein Plugin das komplett intern mit Webservices arbeitet.


    mfg weghn

  • vielen dank. aber bin windows user und von php geschweige denn anderen programmiersprachen hab ich echt keinen plan. vielleicht versuch ich das dennoch mal an hand deiner anleitung irgendwie mal =)

  • Hallo,


    ich habe es mal auf meinem Ubuntu Server versucht versucht, jedoch komme ich nicht weiter. Ich babe die Datenbank geladen und das Verzeichtnis nach /var/www/anytime kopiert. Beim starten mit php5 anytime.php bekomme ich einen Fehler :
    Class config not found in /var/www/anytime/main.php on line 17


    Was mache ich falsch ?


    Gruß


    Frank

  • Hallo,


    nichts falsch gemacht.
    War wie gesagt nicht getestet und möchte an meinm laufenden System nix basteln.
    In der Zip hat eine Datei gefehlt, ich hoffe jetzt sind alle drin.


    mfg

  • danke für die Info, aber sorry läuft noch nicht ...


    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000] [1049] Unknown database 'mediadb'' in /var/www/anytime/class/db.class.php:31 Stack trace: #0 /var/www/anytime/class/db.class.php(31): PDO->__construct('mysql:host=loca...', 'derchef', 'meinpasswd') #1 /var/www/anytime/class/dreambox/anytime/record.class.php(283): db::get('dreambox') #2 /var/www/anytime/anytime.php(4): dreambox\anytime\record::getLatest(8) #3 {main} thrown in /var/www/anytime/class/db.class.php on line 31


    vielleicht kannst du nochmal schauen wo es hackt.


    Gruß


    Frank