Name der Aufnahme bestimmen/umbenennen

  • Hallo,


    ich habe schon einiges gesucht aber so richtig bin ich nicht fündig geworden, da die meisten Sachen erst händisch nachträglich funktionieren.


    Aktuell werden meine Aufnahmen in ca. folgender Struktur erzeugt:

    Code
    1. Magda_macht_das_schon!
    2. |-2019-01-10.21.08.1-0.rec
    3. |-2019-01-10.21.33.1-0.rec
    4. |-2019-01-10.22.03.1-0.rec
    5. |-2019-01-10.22.33.1-0.rec
    6. |-00001.ts
    7. |-index
    8. |-info
    9. |-markad.log

    Also es gibt ein Verzeichnis der Serie/des Films und darunter Verzeichnisse der Aufnahmetage mit Uhrzeit und .rec am Ende. In diesen Verzeichnissen befinden sich Dateien die fast immer gleich heißen.


    Ich kenne es vom DVB-Viewer Recording Service dass meine Dateien

    Code
    1. 2019-01-10_21-10-02_RTL HD_Magda macht das schon! - Schieflage.log
    2. 2019-01-10_21-10-02_RTL HD_Magda macht das schon! - Schieflage.ts
    3. 2019-01-10_21-10-02_RTL HD_Magda macht das schon! - Schieflage.txt

    heißen.


    Gibt es die Möglichkeit beim VDR das oberste Verzeichnis hier im Beispiel "Magda macht das schon!" zu erhalten und dort drunter gleich die Dateien zu erstellen diese dann aber ca.

    Code
    1. 2019-01-10_21-10-02_Magda macht das schon! - Schieflage_00001.ts
    2. 2019-01-10_21-10-02_Magda macht das schon! - Schieflage.index
    3. 2019-01-10_21-10-02_Magda macht das schon! - Schieflage.info
    4. 2019-01-10_21-10-02_Magda macht das schon! - Schieflage.markad.log

    zu nennen ?


    Die Infos die man braucht sind ja eigentlich alle in der Info Datei

    Man braucht ja "nur" die Zeile mit T und S am Anfang und den Zeitstempel umrechnen und dann wäre es für einen der Profis hier ganz leicht ;-) aber der bin ich ja nicht


    Irgendwer hat doch bestimmt gute Skripte die man zur Not nachträglich laufen lassen kann für die Umbenennung/Verschieben?

    Danke im Voraus!

  • Du nutzt ja offensichtlich epgsearch. Da kannst du auch den Subtitle in den Namen der Aufzeichnung aufnehmen. Dann gibt es ein Verzeichnis mit dem Namen der Serie und für jede Folge einen Unterordner mit dem Namen der Episode.


    Beim Suchtimer einfach %title%~%subtitle% als Namen angeben und ggf. das Häkchen setzen, dass es eine Serienaufnahme ist.


    Lars

  • Der vdr braucht dieses "komisch" benannte rec-Verzeichnis, weil da der Aufnahmezeitpunkt drin steckt. Und darunter müssen die Dateien immer so heißen, wie sie sind. Sobald sie anders heißen, wirst du sie nicht mehr mit dem vdr abspielen können.


    Das einzige, was du aus vdr-Sicht beeinflussen kannst, sind die Verzeichnisebenen davor. Da gibt es mindestens eine, die dem Titel der Aufnahme entspricht. Du kannst aber welche dazwischen hängen, so dass man pro Episode ein weiteres Verzeichnis bekommt.


    Falls du die Aufnahmen nicht mit dem vdr abspielen willst, sondern mit was anderem, solltest du das erwähnen. Sonst wissen wir nicht, warum du die Dateien umbenennen willst und können dir nicht bei der Lösung helfen.

    Zur Info: Du fragst, wie du eine Lösungsmöglichkeit umsetzen kannst zu einem Problem, welches du nicht erwähnst (warum willst du die Dateien umbenennen?). Wenn du dein Problem beschreibst, kann man dir vielleicht helfen, weil es schon ganz andere Lösungen gibt, die du nicht kennst.


    Lars.

  • Sorry aber ich dachte die Information ist nicht relevant ;-) Ich konnte mir nicht vorstellen, dass die meisten den VDR auch als Abspielgerät nutzen.


    Da ich den VDR bei mir als Headless betreibe, gucke ich auch am VDR die Filme nicht. Ich nutze da lieber an den TVs im Haus Kodi über eine Netzwerkfreigabe.

    Mit Kodi ist es dann natürlich blöd sich durch die vielen Unter-Verzeichnisebenen zu hangeln und z.B. nach Folge 12 oder einem speziellen Titel einer Serie zu suchen. Da wäre es schöner wenn man ein oberes Verzeichnis mit dem Serien-/Filmnamen hätte (T Zeile in info Datei) und direkt darunter die Dateien mit evtl voran Datum dann Name der Serie/des Films nochmal und den speziellen Titel z.B. Folge 12 (S Zeile in info Datei).


    Deswegen wäre auch ein gutes Skript welches das Umbennen/Verschieben nach der Fertigstellung der Aufnahme übernehmen könnte super.

    Um dann kein Durcheinander zu haben würde ich dann gleich in ein komplett anderes Verzeichnis für fertige Aufnahmen verschieben wollen.

  • Das zweite Problem ist wenn Frau und Kinder sich an das bisherige Vorgehen gewöhnt haben...

    Dann ist man froh das alle mit klarkommen und dann fängt man wieder an...

    Gibt es nichts einfaches zum Umbenennen/Umbewegen ohne Rücksicht das man die Aufnahmen mit dem VDR dann nicht mehr weiter gucken kann?

  • Dann musst Du dir entsprechende Ordnerstruktur anlegen und, wie mini oben schrieb, epgsearch/live beim Aufnehmen verwenden. Dann kannst Du die Aufnahmen beispielweise mit extrecmenu auch per Hand rein schieben. Das VNSI Addon kann dann auch mit den Verzeichnissen in Kodi umgehen, wobei das Kodi auch ohne Ordner/Dateinamen kann, denn das VNSI Addon benutzt die Infos aus der "info"-Datei und scraped auch Serien und zeigt diese nach Staffel/Episode an.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Ich bin anscheinend irgendwie blind ;-)


    Ich finde bei epgsearch kein Feld mit Name wo ich %title%~%subtitle% angeben könnte :-(

    Ich nehme an oben bei Suchbegriff hat es nichts zu suchen und das einzige weitere Textfeld ist Verzeichnis. Oder muss ich mir irgendwo ein Verzeichnis erstellen und dann %title%~%subtitle% als Name für ein Subverzeichnis auswählen ?

    Gibt es auch noch %date% %time% als Platzhalter ?

  • Probier mal das Plugin von MarkusE , dann musst du gar nicht erst nach einer anderen Lösung suchen.

    Und wenn das auch nicht dem entspricht, was du willst, kannst du natürlich immer noch die Dateien umbenennen.


    Lars.

  • Das Verzeichnis-Feld ist das richtige. Für weitere Variablen, siehe die Doku zu epgsearch, z.B. http://winni.vdr-developer.org/epgsearch/en/epgsearch.4.html


    Lars.

  • Danke für den Tipp!


    Gibt es eine Möglichkeit die Zeit in den Dateinamen noch reinzubekommen ?

    Die Zeitangaben enthalten irgendwie alle den Doppelpunkt und dann wird aus 13:19 = 13#3A19 und das sieht echt blöd aus :-(

    Hat da einer einen Workaround da es laut Doku Stunden und Minuten nicht separat gibt ?

  • Was willst du mit der Uhrzeit?

    Den .rec Ordner legt vdr immer selbstständig an. Du kann mit der Timergestaltung nur die Ordnerstruktur und Namen oberhalb davon beeinflussen.


    Alles fällt und steht mit guten EPG Daten. Dafür verwenden viele epgd, aber das ist nicht ganz einfach konfiguriert, wenn es aber läuft ist es super. Es gibt auch xmltv.

    Dann kann man mit epgsearch fast alle EPG Daten dazu herziehen, das der eigentliche *.rec Ordner in einem Ordner mit sinnvollen Namen liegt.

    Mit gutem EPG ist es dann möglich Staffel und Episoden Info in den Titel mit reinzuschreiben. Kodi sollte sich dann beim Parsen einfach tun. Es gibt inzwischen scrabber, die speziell für VDR Aufnahmen geschreiben wurden. Da ich Kodi allerdings dafür nicht verwende, kann ich da keine Links bieten.


    Mal ein paar Links:

    zu epgd

    https://www.yavdr.org/documentation/0.6/de/ch02s07.html (Kapitel 2.7.8 installation wenn man yavdr verwendet)

    zu epgsearch:

    https://www.minidvblinux.de/forum/index.php?topic=6619.0

    [gelöst] epgsearch: Staffel- und Episodennummer beim Aufnahmeverzeichnis hinzufügen


    Viele Grüße

    schneisa

  • Also das mit %title%-%subtitle% reicht mir schon, da brauche ich nicht noch zusätzlich bei Serien die Folgennummer haben, da reicht mir der Subtitel.


    Aber was ich echt gern noch hätte wäre die Zeit (ohne Sonderzeichen die nicht in Dateinamen sein dürfen) um zu wissen von wann die Aufnahme war.

    Ich möchte keine scraper oder sonst irgendwas nutzen, ich möchte einfach plain und simpel über die Dateiebene zugreifen und würde gern alle Dateien später per Skript umbenennen und die alle in ein Verzeichnis.

    Dann erkenne ich anhand des Dateinamens von wann die Aufnahme war (und sortiert nach Zeit) wie die Aufnahme heißt und welcher subtitel vergeben wurde.


    Wenn ich im oberen Verzeichnis schon Datum, Zeit, Name und Subtitel hätte wäre es einfacher ein Skript zu bauen was die Dateien unterhalb umbenennt und verschiebt als wenn ich mir Name und subtitel aus dem Verzeichnis ganz oben dann eine Ebene tiefer das Datum hole und damit dann noch eine Ebene tiefer alle Dateien umbenenne.


    Falls mir jemand Tipps zu so einem Skript geben könnte wäre ich sehr dankbar.

    Ich gehe davon aus dass ich mich dann mal mehr mit find, grep und regulären Ausdrücken näher beschäftigen werde ;-)

  • Du findest das Datum zusätzlich zum .rec Ordner auch in der info-Datei im Sekunden-Format. Das lässt sich auch per script auslesen.


    Edit:


    nicht hex


    vdr-User-# 755 to_h264 chk_r

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von jsffm () aus folgendem Grund: nicht hex

  • Da ich die Verzeichnisnamen eh parsen muss werde ich den Substring #3A für den Doppelpunkt einfach löschen.

    Ich muss mich aber erstmal in die Materie reinfinden solange nichts existiert was ich nutzen könnte.


    edit: hier mein Skript was ich für die 4 Dateitypen (hier nur für die index Datei) einfach nur laufen lassen muss:


    for i in ` find . -name "*index"`;

    do

    echo ${i:2}

    name=`echo ${i:2} | awk -F"/" '{ print $1}'`

    #echo $name

    name_extension=`echo ${i:2} | awk -F"/" '{ print $3}'`

    #echo $name_extension

    text="${name//#3A/.}"

    neueDatei=`echo sorted/"$text"."$name_extension"`

    echo $neueDatei

    mv "${i:2}" "$neueDatei"

    done


    damit wird dann z.B.

    2019-01-22_19#3A05_Alles_was_zählt-Folge_3108/2019-01-22.18.58.1-0.rec/index

    nach

    sorted/2019-01-22_19.05_Alles_was_zählt-Folge_3108.index

    umbewegt.


    Für den ersten Wurf funktioniert es erstmal. Sieht einer von Euch Probleme in meinem Skript die auftreten könnten bei Fällen die ich noch nicht habe ?


    Jetzt wäre noch die spannende Frage wann weiß ich dass die letzte Aufnahme gerade beendet wurde und keine mehr läuft und wie kann ich dann mein Skript starten ?

  • Hi

    Einfach nach der Aufnahme starten lassen. Wie noad etc es machen

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Jetzt wäre noch die spannende Frage wann weiß ich dass die letzte Aufnahme gerade beendet wurde und keine mehr läuft und wie kann ich dann mein Skript starten ?

    Du könntest die Ausgabe von svdrpsend next überprüfen (vgl. http://www.vdr-wiki.de/wiki/index.php/SVDRP#NEXT ), um zu ermitteln, ob es einen laufenden Timer gibt. Das Skript selbst kannst du über das Hook-System des VDR aufrufen lassen: https://projects.vdr-developer…vdr.git/tree/INSTALL#n264

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Wie parse ich denn am einfachsten das Ergebnis -6280?


    wenn ich folgendes mache im Skript


    Code
    1. name=`svdrpsend next rel`
    2. echo $name

    dann bekomme ich nur die erste Zeile der Ausgabe:

    Code
    1. 220 ubuntu SVDRP VideoDiskRecorder 2.4.0; Wed Jan 23 05:57:40 2019; UTF-8
    2. 250 27 -6280
    3. 221 ubuntu closing connection

    aktuell läuft noch eine Aufnahme ich muss mal schauen wie der Wert -6280 sich ändert wenn alle Aufnahmen beendet sind.

  • Ich hab da noch vdrnfofs als Möglichkeit, Aufnahmeverzeichnisse inklusive Datum/Zeit und Titel zu "exportieren":


    mkdir -p /srv/vdr/vdrnfofs && vdrnfofs /srv/vdr/vdrnfofs -o video=/srv/vdr/video,allow_other


    und das dann per samba exportieren:


    (als /etc/samba/smb.conf.yavdr.custom etc. includen)

    sieht dann etwa so aus:

    Für Programmierer läßt sich sicher das Python-Script "/usr/bin/vdrnfofs" so anpassen, daß das Datum zuerst angezeigt wird.

    Das exportierte Verzeichnis kann von Kodi gut verarbeitet werden.

    Aber Achtung: die Geschwindigkeit ist nicht gerade berauschend.

    --
    hdvdr: Intel(R) Xeon(R) CPU W3520, 12 GB Ram, Grafik nvidia GeForce GT 430, nvidia-396
    Octopus (ddbridge-6.5) mit 2xDVB-S2 und 2xDVB-C/T Tunern, TT-3200 (SAA7146) mit 1xDVB-S2 + FB,
    System btrfs, apt-btrfs-snapper,+5x1TB Raid5 XFS, yavdr0.6-frodo, Kernel 4.15.0-42-generic

    mit DD-S2+C+SAA7146-Support, epgd/tvm/tvsp, vdradmin-am, vdrmanager