Dreambox DM920 4k - Pfad für die Speicherung von Aufnahmen

  • Hallo,

    im Rahmen meines Umstiegs von einer Coolstream mit Neutrino ist mir aufgefallen, dass für die Speicherung von Aufnahmen in der DM920 lediglich ein fester Pfad unter "Einstellungen" - "Kanäle und Aufnahmen" - "Aufnahmepfade" - "Timer-Aufnahmeverzeichnis" eingestellt werden kann. Im Neutrino Betriebssystem für die Coolstream kann man einstellen, dass die Aufnahmen in Unterverzeichnissen mit dem Sendernamen abgelegt werden. Gibt es, ggf. mittels eines PlugIn's, so etwas auch für die Dreambox DM920?

  • im Orginal-Image gibt es da wohl nicht direkt was bzw ist mir nicht bekannt - Im Merlin-Image gibt es sowas, nennt sich da Service-Recording Settings. Da kann man den einzelnen Sender den Speicherort zuweisen. Ist es das was du suchst ?


    *****************************************************************************


    ('''... Gruß Ketschuss ...''')
    DM920uHD, DM900uHD, DmTwo,DM520
    Team-Member Project Merlin - we are opensource

  • SeriesPlugin kann, wenn gewünscht, die programmierten Aufnahmen auch in passende Ordner und Unterordner ablegen. Auch die Benamung kann man hier nach eigenem Gutdünken einstellen. Wie der Name schon sagt: Für Serien.


    Ansonsten halte ich es wie ketschuss : Für bestimmte Sender habe ich vordefiniert, dass die Aufnahmen zumindest standardmäßig in den Ordner xy gehen sollen.

  • Hallo,

    ich habe mir jetzt ein php-Script geschrieben, welches Unterverzeichnisse für die Sender der Aufnahmen anlegt und die Aufnahmedateien dorthin verschiebt. Voraussetzung für das Verschieben ist das Vorhandensein der "Aufnahmedatei" mit der Endung ".ts.ap", da ich festgestellt habe, dass diese Datei immer als letztes im Rahmen einer Aufnahme erzeugt wird.

    Das Script bewegt die Dateien mit den Endungen ".ts.ap", ".eit", ".ts", ".ts.cuts", ".ts.meta", ".ts.sc" aus dem movie-Verzeichnis in das ggf. neu angelegt Senderverzeichnis. Das Senderverzeichnis wird auf Basis der Angabe im Aufnahmedateiname ermittelt. Ich habe die Grundeinstellung in der Dreambox für die Aufnahmedateinamen auf "Lange Dateinamen" eingestellt ("Zusammensetzung des Aufnahme-Dateinamens").


    Frage: Gibt es ein System-Script, welches bei/nach Timeraufnahmen ausgeführt wird, in dem ich nach dem Ende einer Timeraufnahme mein Script aufrufen lassen kann? Oder bleibt mir nur der periodische Aufruf über die Cron-Steuerung?


    Hier das PHP-Script:

    umspeichern.txt

  • Hallo,

    der Vollständigkeit halber hier noch die Umsetzung des regelmäßigen Aufrufs über cron.


    Verzeichnis für das PHP-Script und das Shell-Script:

    mkdir /media/hdd/skripte


    PHP-Script unter /media/hdd/skripte mit Namen "umspeichern.php" anlegen (Inhalt siehe "umspeichern.txt" aus meinem Post vom 23.01.2022).

    Shell-Script anlegen

    echo "/usr/bin/php -f /media/hdd/skripte/umspeichern.php" > /media/hdd/skripte/moviecron.sh


    Linux-Rechte für Shell-Script setzen

    chmod 777 /media/hdd/skripte/moviecron.sh


    crontab mit Aufruf für das Shell-Script ergänzen

    echo -e "\n* * * * * /media/hdd/skripte/moviecron.sh" >> /etc/cron/crontabs/root


    zum Abfragen, ob der Eintrag korrekt vorhanden ist (crontab Bedienung wie vi)

    crontab -l


    cron-Service konfigurieren

    systemctl enable busybox-cron.service

    systemctl start busybox-cron.service


    Laufende Aufnahmen werden durch das PHP-Script nicht umgespeichert.



    Hinweis: Für die PHP-Laufzeitumgebung habe ich auf "gemini 4.1" zurückgegriffen.

  • interessante implementierung... wahrscheinlich weil du dich mit cron und php auskennst.

    man koennte auch ein kleines plugin schreiben, das sich fuer aufnahme start/ende registriert und das verschieben direkt macht.

    dazu muesstest du halt ein bisschen zeit investieren und dich in plugin-programmierung einarbeiten... aber das lohnt sich... macht spass :winking_face:

  • Hallo alpha,

    danke für Deinen Kommentar.

    Als Dreambox-Neuling muss ich mich erst einmal zurechtfinden. Für die Plugin-Programmierung muss ich mich dann wohl doch mal mit Python auseinandersetzen. Eine VM für VirtualBox oder VMWare Workstation vom Enigma2-OS gibt es wahrscheinlich nicht. Da müsste man sich wohl auch eine "kleinere"/kostengünstigere DM900 zum Programmieren besorgen.


    Nach den ersten Tagen mit dem aktivierten PHP-Skript musste ich noch eine kleine Anpassung im Skript vornehmen.

    Bei der Array-Variablen "dateieindung" musste ich die Reihenfolge anpassen und ".ts.cuts" an den Anfang verschieben, da diese Datei anscheinend als letzte Datei geschrieben wird.

    Das Ganze sieht dann so aus: $dateiendung = array(".ts.cuts",".ts.ap",".eit",".ts",".ts.meta",".ts.sc");

  • Hallo,

    ich habe das PHP-Skript jetzt in Python umgeschrieben (siehe Anhang umspeichern.py.txt).


    Es scheint genauso wie das PHP-Skript zu funktionieren.


    Gibt es in Python für die Zeilen:


    teile = dateien.split("-")

    teile[1] = teile[1].strip()

    senderverzeichnis = verzeichnis + teile[1].replace(" ","_")


    aus meinem Skript eine bessere/kürzere Variante?

  • Wobei es grundsätzlich optimistisch ist, davon auszugehen, dass split eine Liste mit zwei Elementen ausgibt. Sauberer wäre noch eine Abfrage auf die Länge:

    if len(teile)>=2:

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Hallo alpha,

    hallo dre,

    im Test funktioniert alpha's Vorschlag.


    Für das Verständnis der objektorientierten "Verschachtelungsmöglichkeiten" bei Python brauche ich noch ein wenig Zeit.

    Wenn man dre's Vorschlag mit einbaut, müsste man dass Ganze erweitern.


    Wäre das in etwa so möglich?


    if len(dateien.split("-")) >=2:

    senderverzeichnis = verzeichnis + dateien.split("-")[1].strip().replace(" ", "_")

    else:

    # Aufbau des Dateinamens genauer analysieren oder weitere Verabeitung abbrechen


    Oder muss eine Zwischenvariable (z. B. teile = dateien.split("-")) verwendet werden?


    teile = dateien.split("-")

    if len(teile) >=2:

    senderverzeichnis = verzeichnis + dateien.split("-")[1].strip().replace(" ", "_")

    else:

    # Aufbau des Dateinamens genauer analysieren oder weitere Verabeitung abbrechen

  • beides geht.

    hier noch eine version:

    Code
    teile = dateien.split(" - ")
    if len(teile) >= 2:
        senderverzeichnis = verzeichnis + teile[1].replace(" ", "_")
        # weitere verarbeitung
        ....
  • Es geht beides. Wobei du bei der zweiten Variante dann teile nutzen kannst - also teile[1]


    Ob es einen Geschwindigkeitsunterschied macht, ob du nur einmal split machst oder zwei Mal, hab ich noch nie im Detail angeschaut

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Um hier zunächst einmal , als Neuling hier im Forum , mein Verhältnis zur meiner nigelnagelneuen Dreambox DM920 RC20 zu beschreiben , meine Kenntnis über diese Dreambox beschränkt sich auf das , was von Hause aus , auf der fabrikneuen Dreambox vorliegt ..

    Hallo,

    im Rahmen meines Umstiegs von einer Coolstream mit Neutrino ist mir aufgefallen, dass für die Speicherung von Aufnahmen in der DM920 lediglich ein fester Pfad unter "Einstellungen" - "Kanäle und Aufnahmen" - "Aufnahmepfade" - "Timer-Aufnahmeverzeichnis" eingestellt werden kann. Im Neutrino Betriebssystem für die Coolstream kann man einstellen, dass die Aufnahmen in Unterverzeichnissen mit dem Sendernamen abgelegt werden. Gibt es, ggf. mittels eines PlugIn's, so etwas auch für die Dreambox DM920?

    .. und von Hause aus können Aufnahmen, wie hier beschrieben , nur in einem einzigem Ordner gespeichert werden.Was ich bei dem Fassungsvermögen einer 4 Terabyte großen Festplatte, im Hinblick auf die Übersichtlichkeit der Aufnahmen , für problematisch halte .. gelinde gesagt. Also habe ich , damit ich die Aufnahmen in entsprechende Unterverzeichnisse , wie Spielfilm/ Krimi .. GEORDNET!! .. ablegen kann, meine Dreambox über Hauptmenue: Einstellungen/Softwareverwaltung/Erweiterungen verwalten , mit dem Plugin "Dream Explorer" erweitert. Damit konnte ich nun Unterverzeichnisse anlegen. Über Hauptmenue: Einstellungen/Kanäle und Aufnahmen ist es mir sogar gelungen, Aufnahmen in die von mir erstellten Verzeichnisse zu speichern.


    Nun komme ich zu den Problemen.


    1. Mir ist es bisher noch nicht gelungen mit dem "Dream Explorer" Aufnahmen in ein anderes Verzeichniss zu kopieren bzw. zu verschieben. Wenn ich mit der gelben Taste Move /Copy eine .ts Datei auswähle , werde ich zwar anschließend davor gewarnt , dass ich eine ts Datei verschiebe oder kopiere, wenn ich jedoch mit der roten Taste die Datei in das Verzeichnis bewegen will bzw. mit der gelben Taste kopieren will, passiert nichts!


    Was mache ich verkehrt? Im Voraus schon mal vielen Dank für euer Bemühen , mir hier, bei meinen Problemen mit der Dreambox , behilflich zu sein


    Gruß Telmet

    5 Mal editiert, zuletzt von Telmet ()

  • Ich habe nicht nur bloss das Zielverzeichnis ausgewählt , ich bin mit dem Dream Explorer in das Zielverzeichnis "Spielfilm" gegangen . Dort erscheint im Kopf ´Select target location wie übrigens auch die Warnung davor , dass ich eine Datei " nach :" verschiebe oder kopiere.

  • Telmet


    Kuckuck ...


    Im Zielordner die gelbe Taste gedrückt?


    Sorry - das war zu schnell. Ich meine, du musst nicht in das Zielverzeichnis gehen, sondern dieses auf der Ebene darüber nur markieren. Achte darauf, was dabei hinter " nach :" steht. Dann die gewünschte Farbtaste rot oder gelb drücken.


    Ich würde übrigens an deiner Stelle vorerst nur das Kopieren versuchen, nicht das Verschieben.

    DM900 UHD mit DVB T2 | OE 2.5 unstable 4.3.1r28 mit GP3.3

    4 Mal editiert, zuletzt von Dibagger ()

  • Dibagger


    ..."dumme" Frage .. und wie markiere ich das , so das hinter dem "nach" , wie ich annehme, das Zielverzeichnis erscheint z.B. das von mir erstellte Zielverzeichnis "Dokumentationen"? Denn bisher erscheint hinter dem "nach" nichts. Allein das Anwählen des Ordners "Dokumentationen" , so das der Hintergrund des Ordners im Vergleich zum dunkelblauen Hintergrund , hellblau erscheint , reicht jedenfalls nicht aus. Denn wenn ich nach dieser Markierung die gelbe Taste für kopieren drücke , werde ich mit folgender Fehlermeldung konfrontiert ..


    cp/media/hdd/movie/202210301431-zdf_neo_HD-terraX.ts

    /media/hdd/movie/Dokumentationen

    failed


    Das Markieren mit der "Ok" Taste funktioniert nicht,. Denn wenn ich diese Taste drücke , bin ich in jenem Zielverzeichnis"Dokumentationen". in das ich angeblich nicht gehen muss.

    3 Mal editiert, zuletzt von Telmet ()