[ANNOUNCE] Filme virtuell Sortieren 1.4b

  • Hallo zusammen,

    hier mein kleiner Beitrag an die VDR-Gemeinde :)

    für die, die noch nicht wissen, was "filmesortieren.sh" macht, hier eine Beschreibung:

    filmesortieren ist ein Shellscript das in mehreren Verzeichnissen nach Filmen sucht und zu diesen Softlinks in mehreren Sammelverzeichnisse erzeugt.
    Diese Sammelverzeichnisse sind "Alle Filme", "Die 30 neusten Filme", "Neu dazugekommen am", "Name beginnt mit", und "30 Zufallsfilme".

    Der Sinn des ganzen ist folgender:
    Bei mir z.B. stapeln sich mittlerweile die Festplatten die voller Filme sind (meisst umgewandelte VDR-Aufnahmen als divx oder svcd). Ich kann mittlerweile bei >1200 Filmen nicht mehr im Kopf behalten welcher Film wo auf welcher Festplatte ist. Nachdem mein Script durchgelaufen ist habe ich nur noch ein Verzeichnis wo alle Filme drin sind und sogar noch mehr (Die 30 neusten Filme, etc.). Zudem kann ich endlich die Filme hin und her verschieben oder jede Festplatte bis zum Bersten unsortiert "vollschmeissen" ;)

    Es kann mit jeglichen Filmdateien umgehen, solange die Filme das Schema "/wo/auch/immer/FILMTITEL.ENDUNG_ERLAUBT" haben.
    Zudem kann es auch mit kopierten (S|RS|M)VCD-Verzeichnissen umgehen, bedeutet: "/wo/auch/immer/FILMTITEL/MPEG<1|2>/AVSEQ[ZAHL].ENDUNG_ERLAUBT" wird zu "/ZIELVERZEICHNIS/FILMTITEL.ENDUNG".

    Es erstellt beim ersten durchlaufen die Zielverzeichnisse. Beim nächsten durchlaufen räumt es vorher auf, es kann also per Cronjob o.ä. laufen.

    Meiner meinung nach ganz besonders Sinnvoll wenn man das Zielverzeichnis in der mplayersources.conf "ganz oben" hat oder wenn man ein NFS oder Sambashare freigibt in dem alle Filme zu finden sein sollen. (Bei Samba (und NFS?) MUSS "unix extensions = no" gesetzt sein damit die Softlinks nicht von der Clientmaschine als Links erkannt werden!)

    Es existieren von dieser Art momentan auch noch "seriensortieren" (noch nicht stabil bzw. intelligent genug) und "mp3sortieren" (noch nicht fertig).
    Hier ein Beispiel:

    Vorher:

    Code
    /tmp/tesetfilme/Festplatte2/SciFi/Star_Trek/Star Trek 2.avi
    /tmp/tesetfilme/Festplatte2/SciFi/Star_Trek/Star Trek 1.avi
    /tmp/tesetfilme/Festplatte2/SciFi/Mad Max 2.avi
    /tmp/tesetfilme/Festplatte2/Juni07/Stargate.avi
    /tmp/tesetfilme/Festplatte2/Juni07/The Rock.mpg
    /tmp/tesetfilme/Festplatte1/November06/Mad Max 1.avi
    /tmp/tesetfilme/Festplatte1/Comedy/Liebling ich habe die Kinder geschrumpft.avi
    /tmp/tesetfilme/Festplatte1/Comedy/Was Frauen wollen.mpg

    Nachher:

    Konfigurierbar ist:

    # Hier alle Verzeichnisse angeben wo Filme zu finden sind. Eingeschlossen von Hochkommata und von Leerzeichen getrennt.
    Wo_die_Filme_sind='/media/Festplatte1/Filme /media/Festplatte2/Stuff/Filme/ /media/Filme3/ '

    # Hier das Zielverzeichnis für die Softlinks angeben. (Wird erstellt falls nicht vorhanden!)
    Filme_Zielverzeichnis=/Storage/Virtual/Filme

    # Die Dateiendungen für die Filme, von Hochkommata und Klammern umgeben, von Pipes getrennt. Groß/kleinschreibung wird ignoriert!
    Dateiendungen='\.(mpg|avi|dat|mpeg|divx|iso|bin|nrg|mp4)$'

    # Die Dateinamen von den Text-Filmlisten. Besonders Sinnvoll wenn diese mit /var/www verlinkt werden, dann kann ein Freund mal eben durchgucken und eine "Bestellung" aufgeben ;) (Kann auch ein absoluter Pfad sein, ansonsten unter Zielverzeichnis)
    # Filmliste_Datum: Alle Filme aber chronolgisch sortiert, neuste oben
    # Filmliste_Alphabet: Alle Filme alphabetisch sortiert
    # Filmarchiv: pro Durchlauf/Datum eine Liste. Hilft gegen "Eine Festplatte hat den Geist aufgegeben, was waren da für Filme drauf?"
    Filmliste_Datum=/Storage/Virtual/Filmliste_Datum.txt
    Filmliste_Alphabet=/Storage/Virtual/Filmliste_A-Z.txt
    Filmarchiv=/Storage/Virtual/Filmarchiv_`date +%F`.txt

    # Sollen die Dateiendungen in den Filmlisten enthalten bleiben? (ja|nein)
    ListenMitEndung=ja

    # Die unter Zielverzeichnis zu erzeugenden Film Verzeichnisse.
    NameDesNeueFilmeDirs=Die_30_neusten_Filme
    NameDesMonatDirs=Neu_dazu_gekommen_am
    NameDesAlphabetischDirs=Name_beginnt_mit
    NameDesAlleDirs=Alle_Filme
    NameDesRndDirs=30_Zufallsfilme

    # Die Anzahl der neusten Filme, die unter NameDesNeueFilmeDirs verlinkt werden sollen.
    AnzahlDerNeuenFilme=30

    # Die Anzahl der Zufallsfilme unter NameDesRnrDirs
    AnzahlDerRndFilme=30

    # Tempfile wo die gefunden Filme abgelegt werden (wird wieder gelöscht)
    AlleFilmeTemp=/tmp/filme

    Beim durchlaufen gibt es das folgende aus:


    Wenn jemand Änderungswünsche, neue Ideen oder Bugs gefunden hat kann er sich gerne bei mir melden :)

    Ich bin auf der Suche nach einem neuen sinnvollen und beschreibenden Namen, also falls jemand eine (gute) Idee hat: Her damit!

    Zudem würde ich mich freuen wenn jemand auf seiner (VDR-bezogen) Webseite Platz für das Script, eine Beschreibung etc. hätte. Am liebsten hätte ich dort einen eigenen CMS Account damit ich das Script dort pflegen kann. (Bitte per PM)

    Kleiner Zusatz:
    Ich habe bewusst auf Schleifen verzichtet* und fast ausschließlich Pipe-Konstrukte verwendet, meiner Ansicht nach läuft es so schneller. Also nicht wundern wenn es "komisch" aussieht ;)

    *-> Nur bei Zufallsfilmen fällt mir keine Möglichkeit ein ohne eine Schleife zu arbeiten...

    Grüße
    sphere

    Files

    silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

  • Die Datei ist Windows-Codiert gespeichert. Um dies zu korrigieren muss man unter Linux

    dos2unix filmesortieren.sh


    ausführen.

    Chris


    VDR 1: Was altes im Keller
    VDR 3: yavdr64 0.6, ASRock Q1900M

  • Kann ich damit auch die Aufnahmen die der VDR gemacht hat erreichen, oder lediglich mpeg & co.?
    Das geht aus Deiner Beschreibung leider nicht eindeutig hervor.

    Claus

    MLD 6.5 mit vdr 2.7 - lirc yaUSBir - 4 x DD-Sat - SCR - Intel N100M - 4GB RAM - WD Green 12TB HDD - 22TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 6.5 mit vdr 2.7 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • clausmuus
    So wie es aussieht kann das Skript nur mit Dateien umgehen. Die VDR Aufnahmen sind aber Verzeichnisse mit mehreren Dateien was im Skript nicht vorgesehen ist. Es werden per default auch nur folgende Endungen bearbeitet

    Code
    # Die Dateiendungen für die Filme, von Hochkommata und Klammern umgeben, von Pipes getrennt. Groß/kleinschreibung wird ignoriert!
    Dateiendungen='\.(mpg|avi|dat|mpeg|divx|iso|bin|nrg|mp4)$'

    Gruß
    Frodo

    Meine VDR Hardware

    YaVDR 0.6: Intel DQ67SW, Digital Devices Octopus Duo CI, 2x DD DuoFlex S2 V4, NVIDIA GT 610 (GF119), IMON VFD

    YaVDR 0.6: Asus Z170I PRO GAMING, NVIDIA GT 1030 (GP108-A), SilverStone ML02B-MXR, IMON LCD

    YaVDR 0.6: Intel DH67CF, TT S2-6400, NVIDIA GTX 1050 (GP107-A)

    YaVDR 0.5: Intel DH67BL, TT S2-6400, TT S2-3200, NVIDIA 210 (GT218)

    YaVDR 0.6: Zotac D2550ITX, NVIDIA GT 610 (GF119) onboard, IMON VFD

  • Hiho,

    hatte "damals", als du das hier gepostet hast noch etwas erweitert,
    so dass man auch einstellen kann, welche dirs NICHT gescannt werden.

    vielleicht kannst du das in deiner naechsten version mit einbauen.

    Ich habe das in Version 1.1b hinzugefuegt.


    Gruss,

    flo


    - VDR 1.7.4 unter gentoo, Reel eHD, nfsroot, streamdev, P4 2GHz
    - wMVP ueber vompserver 3.0-10
    - file-/streaming-server, gentoo, 3 x Terratec Cinergy 1200 DVB-C, 4x1,5 TB Raid5
    - SAMSUNG PS63C7790, ONKYO TX-SR806E, TEUFEL System 5 THX Select

  • Quote

    Original von ChrisBox
    Die Datei ist Windows-Codiert gespeichert. Um dies zu korrigieren muss man unter Linux

    dos2unix filmesortieren.sh


    ausführen.

    Chris

    Upsi. Danke für den Tipp :)
    Wie kann man denn Unix Kodierte Files hier hochladen wenn man Windows zum browsen benutzt?

    Quote

    Original von clausmuus
    Kann ich damit auch die Aufnahmen die der VDR gemacht hat erreichen, oder lediglich mpeg & co.?
    Das geht aus Deiner Beschreibung leider nicht eindeutig hervor.

    Claus

    Nein, wei Frodo schon sagt, mein Script hat das Ziel konvertierte Filme zu sortieren.

    Ich könnte ja mal gucken ob man es auch für VDR Aufnahmen erweitern kann.
    Wie sind denn jetzt bei dir die VDR Aufnahmen verteilt, dass sie virtuell sortiert werden müssen?

    Da das Script ja jetzt mit einem Tempfile arbeitet, lässt sich das noch viel einfacher realisieren.
    Ich werde gleich mal schauen und eine um diese Funktion erweiterte Version hier hochladen, hoffentlich Unix-Kodiert :)

    Aber insgesamt schade dass scheinbar bisher keiner das Script wirklich gebrauchen kann oder zumindest dies nicht zum Ausdruck bringt...

    Grüße
    sphere

    silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

  • Quote

    Original von sphere
    Wie kann man denn Unix Kodierte Files hier hochladen wenn man Windows zum browsen benutzt?

    Die Unix Datei darf nicht mit einem Windows Editor der nix von Unix versteht bearbeitet werden.
    Die unter Unix erstellte Datei kann einfach als Anhang ins Forum gestellt werden.
    Wenn man sie unbedingt unter Windows bearbeiten möchte kann ich Editoren wie PSPAD oder Ultraedit empfehlen, diese Editoren können Unix Dateien als solche bearbeiten oder auch die Konvertierung in andere Formate vornehmen.
    Dem Browser ist es egal ob die Datei Unix oder Windows konform ist, erstellt beides korrekt dar.

    Gruß
    Frodo

    Meine VDR Hardware

    YaVDR 0.6: Intel DQ67SW, Digital Devices Octopus Duo CI, 2x DD DuoFlex S2 V4, NVIDIA GT 610 (GF119), IMON VFD

    YaVDR 0.6: Asus Z170I PRO GAMING, NVIDIA GT 1030 (GP108-A), SilverStone ML02B-MXR, IMON LCD

    YaVDR 0.6: Intel DH67CF, TT S2-6400, NVIDIA GTX 1050 (GP107-A)

    YaVDR 0.5: Intel DH67BL, TT S2-6400, TT S2-3200, NVIDIA 210 (GT218)

    YaVDR 0.6: Zotac D2550ITX, NVIDIA GT 610 (GF119) onboard, IMON VFD

  • Ich benutze Textpad, der kann (gut) mit unix kodierten Dateien umgehen.
    Warum das diesmal "schief" gelaufen war kann ich nicht erklären...

    Grüße
    sphere

    silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

  • Quote

    Original von sphere

    Aber insgesamt schade dass scheinbar bisher keiner das Script wirklich gebrauchen kann oder zumindest dies nicht zum Ausdruck bringt...

    Grüße
    sphere


    Also ich kann das Script schon eine ganze Weile sehr gut gebrauchen und möchte mich hiermit für Deine Arbeit bedanken.
    Ich hatte es von einem Kumpel bekommen und mich leider nie darum gekümmert wo es her kommt. Also Danke! nochmal!

    Ich hätte eine Anregung für eine Erweiterung.

    Ist es machbar die Gesamtfilmanzahl auszugeben?
    Ich meine.....wie viele Filme beinhaltet die Rubrik "Alle Filme"

    Gruß
    lalei

    Hardware: Motherboard: Asus M3N78 EM / CPU: AMD AM2 2,8 Dual Core / Grafik: Nvidia 8300 onboard
    DVB-S2: 1 x CineS2 Dual / DVB-S: 1 x TT DVB-s Rev. 1.6 / Festplatten: 2 x 750 GB SATA / 1x 1 TB SATA
    Fernbedienung: Atric IR-Einschalter / Harmony 525 / Gehäuse: Silverstone SST-LC17-S La Scala - silver
    Software: YaVDR 0.3 / VDR 1.7.17

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!