[Patches] Videoverzeichnispolitik und mehr

  • Moin!


    Da nach einigem Werkeln mein VDR nun seit ein paar Monaten seinen Dienst verrichtet, sind mir im Laufe der Zeit ein paar Kleinigkeit aufgefallen, die ich ändern wollte. Ich dachte mir, vielleicht kann der eine oder andere auch was damit anfangen, deswegen hab ich mir mal die Mühe gemacht, alles in Diffs zu packen.
    Daraus sind nun folgende drei Patches entstanden:


    vdr-1.4.6-1-dvlfnames.diff
    Hintergrund: Manche Filme/Sendungen haben ja teilweise die verrücktesten Zeichen mit im Titel und VDR setzt die meisten davon brav im Verzeichnisnamen um. Das führt unter Windows über Samba teils dazu, dass manche Verzeichnisnamen nicht angezeigt werden können - was ich relativ nervig finde.
    Dieser Patch filtert bei neuen Aufnahmen diverse Sonderzeichen komplett aus dem Verzeichnisnamen heraus und ersetzt andere durch "_". Als Zusatz werden noch Umlaute umgewandelt, sprich: aus "ä" wird "ae", "ß" wird zu "ss" usw usf. Letzteres braucht man zwar nicht unbedingt, finde ich aber "schöner" so.
    Diese Funktion kann in den Einstellungen --> Aufnahme --> "Freundliche Dateinamen" ein/ausgeschalten werden und ist anfangs deaktiviert.



    vdr-1.4.6-1-dvlrecscript.diff
    Hintergrund: Ich lasse (wie so viele andere bestimmt auch) nach einer Aufnahme per Script automatisch noad laufen. Da ich jedoch die meiste Zeit werbefreie Sender aufnehme, fand ich es eher störend, dass nach jeder Aufnahme noad gestartet wurde und ich nicht steuern konnte, für welche Aufnahme das eigentlich gemacht werden sollte.
    Dieser Patch übergibt dem Recordings-Script (von "--record=CMD") als zusätzliches Argument noch den Namen des Senders, von dem die Aufnahme kommt. Dadurch war es dann leicht in dem Script zu sagen, starte noad für Aufnahmen von Sender X, Y und Z - ansonsten tue nichts.



    vdr-1.4.6-1-dvlvidpref.diff
    Hintergrund: Wenn man mehrere /video Verzeichnisse hat und irgendwas aufnimmt, prüft VDR, in welchem Verzeichnis am meisten Platz ist, und speichert dort die eigentlichen Daten. Ich habe z.B. eine 400GB Platte als Archiv (und als Ausweichlösung) am VDR über Netzwerk gemountet - und da auf der internen VDR Platte wesentlich weniger Platz ist, würde VDR immer erst mal übers Netzwerk aufnehmen, was mir nicht gefiel.
    Dieser Patch führt eine "Videozeichnispolitik" ein, durch die man festlegen kann, welches Videoverzeichnis "bevorzugt" werden soll.
    Man kann die Funktion in den Einstellungen --> Aufnahme --> "Videoverzeichnispolitik" ein/ausschalten - auch hier ist die Option anfangs deaktiviert.
    Jetzt kann man für jedes Videoverzeichnis folgende Attribute festlegen:


    Priorität: von 0 bis 99
    Freier Platz in MB: von -1 bis 99999


    Durch den Patch passiert jetzt bei einer Aufnahme das:
    Es werden alle (eingestellten) Videoverzeichnisse auf Priorität überprüft. Das mit der höchsten Priorität wird vorrangig für die Aufnahme genommen, solange vor der Aufnahme in dem Verzeichnis der eingestellte minimale Platz von x MB frei ist.
    Werden mehrere Verzeichnisse mit derselben Priorität gefunden und alle haben den Mindestplatz von x MB, wird das mit dem meisten Platz für die Aufnahme genommen.
    Stellt man für den Mindestplatz "-1" ein, wird in dieses Verzeichnis nichts aufgenommen. Und zur Sicherheit: Wird kein Verzeichnis mit passenden Einstellungen gefunden, fällt der Patch quasi auf die original Routine von VDR zurück, damit nichts schief geht.
    -- Der Patch sollte jetzt sauber funktionieren, auch wenn das ermittelte Videoverzeichnis das erste ist --




    Zusätzlich zu den drei Patches gibt es noch diese beiden:


    vdr-1.4.6-1-dvl.diff
    Beinhaltet alle drei Patches und das Diff (wie die drei einzelnen auch) wurde von einem "sauberen" VDR 1.4.6-1 erstellt.



    vdr-1.4.6-1-ext26-dvl.diff
    Ist für alle gedacht, die wie ich den praktischen Extension Patch (v.26) benutzen. An dieser Stelle mal ein großes DANKE für die Mühe! Die Patches werden problemlos "integriert" und können zusätzlich einzeln in der Make.config ein/ausgeschalten werden.
    Achtung: Eine bestehene Make.config wird NICHT modifiziert - wäre auch unsinnig. Für den Einsatz die neuen Zeilen aus Make.config.template in die bestehende Make.config mit übernehmen.



    Wenn den Kram irgendwer gebrauchen kann, dann viel Spaß damit. Falls irgendwelche Probleme auftreten, schreit einfach. (aber nicht zu laut :D)


    --
    Chris

  • Hi,


    liest sich ganz sinnvoll, mal sehen wies läuft.


    Grüße magicdragon67

  • Hallo ..und Danke
    das ist ja echt toll ...werde ich heute Abend direkt mal testen..
    have more fun
    speed

  • Das mit den Dateinamen hört sich sehr gut an, hab allerdings noch 1.4.5 am laufen.


    Gruß

    VDR: PIII 933MHz, 512MB Ram, D1184 FSC A11, TechnoTrend 1.3 + SkyStar 2.d - Base 1.4 / BigPatch - streamdev, vdradmin, mplayer, femon, text2skin, DeepBlue / HDD 160GB + 400GB


    Sometimes, Linux is like an old Text-Adventure... take Module A and use it with Lib B and see what happens..

  • Hallo Chris,


    Quote

    Original von cteuf
    ...Dieser Patch übergibt dem Recordings-Script (von "--record=CMD") als zusätzliches Argument noch den Namen des Senders, von dem die Aufnahme kommt. Dadurch war es dann leicht in dem Script zu sagen, starte noad für Aufnahmen von Sender X, Y und Z - ansonsten tue nichts.


    Diese Information steht doch bereits in der "info.vdr"


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • Quote

    Originally posted by HFlor


    Diese Information steht doch bereits in der "info.vdr"


    Also bei mir steht in "info.vdr" immer nur die Sender-ID aber nie der Name. Und extern von der ID auf den Namen zu kommen, verkompliziert die Sache imho nur unnötig.


    --
    Chris

    Software OS: Debian Lenny, Kernel: 2.6.24, VDR: 1.7.0 +ext60 +h.264
    Hardware CPU: Sempron64 1.8GHz (C&Q), MB: Foxconn 760GXK8MC, RAM: 512MB, HDD: ST 160GB, DVB: TT C2300 / KNC1v1, DVD: Pioneer DVR-106D, LCD: 4x20 (blau), IR: LIRC

  • Hi,

    Quote

    Original von cteuf
    vdr-1.4.6-1-dvlvidpref.diff
    Hintergrund: Wenn man mehrere /video Verzeichnisse hat und irgendwas aufnimmt, prüft VDR, in welchem Verzeichnis am meisten Platz ist, und speichert dort die


    Wenn die erste Platte genommen werden soll, bekomme ich:

    Code
    1. May 11 12:03:43 video1 vdr: [13879] recording to '/video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr'
    2. May 11 12:03:43 video1 vdr: [13879] VidPrefer: prefered video directory '0' set.
    3. May 11 12:03:43 video1 vdr: [13879] ERROR: /video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr: Ungültiger Dateideskriptor


    (erst bei 004.vdr, weil ich während in 003.vdr gespeichert wurde die Prioritäten geändert habe, so dass 004 dann auf video1.0 sollte)


    VDR-Neustart:

    Code
    1. May 11 12:05:34 video1 vdr: [15112] ERROR: /video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr: Zu viele Ebenen aus symbolischen Links
    2. May 11 12:05:34 video1 vdr: [15112] recording to '/video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr'
    3. May 11 12:05:34 video1 vdr: [15112] VidPrefer: prefered video directory '0' set.
    4. May 11 12:05:34 video1 vdr: [15112] ERROR: /video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr: Die Datei existiert bereits
    5. May 11 12:05:34 video1 vdr: [15112] ERROR: /video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr: Die Datei existiert bereits


    004.vdr ist ein link der auf sich selbst zeigt.
    VDR-Stop, link gelöscht, VDR-Start:

    Code
    1. May 11 12:06:45 video1 vdr: [16291] recording to '/video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr'
    2. May 11 12:06:45 video1 vdr: [16291] VidPrefer: prefered video directory '0' set.
    3. May 11 12:06:45 video1 vdr: [16291] ERROR: /video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr: Ungültiger Dateideskriptor
    4. May 11 12:06:45 video1 vdr: [16291] recording to '/video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr'
    5. May 11 12:06:45 video1 vdr: [16291] VidPrefer: prefered video directory '0' set.
    6. May 11 12:06:45 video1 vdr: [16291] ERROR: /video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr: Die Datei existiert bereits
    7. May 11 12:06:45 video1 vdr: [16291] ERROR: /video1.0/Serie/.../2007-05-11.11.35.50.99.rec/004.vdr: Die Datei existiert bereits


    Dann hab ich für video1.0 die Priorität ganz heruntergesetzt, dann geht's...

    VDR1: Gigabyte GA-M720-US3 (nVidia Corporation MCP78S [GeForce 8200]), Athlon II X2 240, 2GB RAM, Intel 82574L Gigabit, Debian Squeeze, Kernel 2.6.38.3 mit linux-media.tar.bz2 vom 20.04. 10:04, dvbhddevice fb6b1beedb72, VDR-1.7.22 (extension-Patch, 15 Plugins), epgsearch, extrecmenu, ...
    VDR2: Debian Etch, 2.6.21.3, K6-2 400, 192MB, NFS-Root, 466GiB über NFS, 1xNexus 2.1, 1xNova S, VDR-1.4.7
    Server: Debian Squeeze, 2.6.35.7, AMD X2 240e, 4GB, System: Raid1 2x500GB, Aufnahmen: Raid5 4TB + 1x 500GB, 1000MBit LAN
    Episodenlisten für epgsearch, VDRSeriesTimer

    The post was edited 1 time, last by vejoun ().

  • vejoun


    Hmm ich hab das gerade mal bei mir probiert und bekomme auch denselben Fehler. Das Problem tritt auf, wenn das erste Videoverzeichnis für die Aufnahme benutzt wird (was bei mir nie der Fall ist). VDR erstellt erst mal den Link und wundert sich dann, dass er nicht aufnehmen kann.


    Werde das später mal genauer untersuchen und fixen.
    Danke für die Info.


    --
    Chris

    Software OS: Debian Lenny, Kernel: 2.6.24, VDR: 1.7.0 +ext60 +h.264
    Hardware CPU: Sempron64 1.8GHz (C&Q), MB: Foxconn 760GXK8MC, RAM: 512MB, HDD: ST 160GB, DVB: TT C2300 / KNC1v1, DVD: Pioneer DVR-106D, LCD: 4x20 (blau), IR: LIRC

  • Der Fehler im Patch für die Videoverzeichnispolitik ist nun behoben. Nun werden keine auf sich selbst zeigenden Links erstellt wenn das erste Videoverzeichnis für die Aufnahme genommen wird.
    Die "große" Patch und der für den Extension Patch wurden natürlich auch angepaßt.


    --
    Chris

    Software OS: Debian Lenny, Kernel: 2.6.24, VDR: 1.7.0 +ext60 +h.264
    Hardware CPU: Sempron64 1.8GHz (C&Q), MB: Foxconn 760GXK8MC, RAM: 512MB, HDD: ST 160GB, DVB: TT C2300 / KNC1v1, DVD: Pioneer DVR-106D, LCD: 4x20 (blau), IR: LIRC

  • das mit dem Videoverzeichnissen hat mich auch schon lange gestört. Es gab mal so ein ähnlichen patch vor langer Zeit.
    Hast Du den Patch schon in der Mailingliste eingestellt? Vielleicht lässt sich Klaus ja überzeugen das fest rein zu nehmen.

  • Quote

    Original von cteuf


    Also bei mir steht in "info.vdr" immer nur die Sender-ID aber nie der Name. Und extern von der ID auf den Namen zu kommen, verkompliziert die Sache imho nur unnötig.


    --
    Chris


    wenn's dafür fertige scripte gäbe, wäre ich sehr daran interessiert :mua


    Michi

    HD-VDR-EG
    Software: yaVDR-0.4
    Hardware: ASRock M3N78D, Athlon II X2 240e, ASUS EN210, TeVii s480
    HD-VDR-DG:
    Software: yaVDR-0.4
    Hardware: ASRock N68-S3 UCC, Athlon II X2 245e, ASUS EN210, TeVii s480
    ---
    Don't sleep and build!

  • Dort sollte auch der Titel stehen
    http://www.vdr-wiki.de/wiki/index.php/Info.vdr

  • Hi Chris,


    danke für die Patche.


    Ich habe vdr-1.4.6-1-ext26-dvl-fixed.diff in den Extensions-Patch v.27 übernommen.


    Viele Grüße
    Marc

  • Quote

    Original von decembersoul
    Dort sollte auch der Titel stehen
    http://www.vdr-wiki.de/wiki/index.php/Info.vdr


    Titel der Sendung, aber nicht des Senders. Dennoch finde ich die Idee das über die Info.vdr zu lösen nicht so blöd. Man könnte doch dort auch einfach einen Eintrag
    @ channelname ProSieben
    machen oder über ein Leerzeichen in dem Eintrag des Kanals lösen:
    C Kanal-ID KanalName


    Dann könnte noad danach suchen.... (und andere scripte könnten es auch verwenden ohne auf den VDR zurück greifen zu müssen)....



    mfg bn

  • Quote

    Original von LightYear
    @ channelname ProSieben machen


    macht das epgsearch nicht sogar?


    michi

    HD-VDR-EG
    Software: yaVDR-0.4
    Hardware: ASRock M3N78D, Athlon II X2 240e, ASUS EN210, TeVii s480
    HD-VDR-DG:
    Software: yaVDR-0.4
    Hardware: ASRock N68-S3 UCC, Athlon II X2 245e, ASUS EN210, TeVii s480
    ---
    Don't sleep and build!

  • Hallo,
    Die "Videozeichnispolitik" finde ich genial. Das Problem hatte ich auch schon oft (das letzte mal vor 1h bei meinem Onkel).
    System-Partition ist eng bemessen und Video-Partition lässt sich aus technischen Problemen nicht einbinden. VDR nimmt dann bis zum Speicherplatzende auf die System-Partition auf. Beim nächsten Schreibeversuch oder spätesten beim nächten Systemstart kommt es zu Fehlermeldungen.


    Wäre Super, wenn solch ein Problem aus der Welt geschafft wäre.


    bis dann,
    Nando

    TEST FOXCONN 560A "Cool`n`Quiet"
    Software: Gen2VDR V2 + vdr-1.6-ext59 + Nvram-Wakeup + KDE
    Hardware: AMD Athlon 64 X2 Dual Core 4800+, 4GB DDR2RAM, SAMSUNG SATA HD501LJ 500 GB, SAMSUNG SP2514N 250 GB, HD SV1604N 160GB, HL-DT-STDVD-RAM GSA-H58N, Cablestar2, TTDVB-C + Scart-out + ASUS-SPDIF


    Activy 300
    Software: Gen2VDR V2 + vdr-1.4.7-ext40 + STR + FreeVo (Browser, Games, ... )
    Hardware: 256MB SDRAM, HD SV1604N 160GB, DVD SD-M1612, FSDVB-C + Scart-out, Technisat Cablestar2, leise

  • Quote

    Originally posted by LightYear
    Titel der Sendung, aber nicht des Senders. Dennoch finde ich die Idee das über die Info.vdr zu lösen nicht so blöd. Man könnte doch dort auch einfach einen Eintrag
    @ channelname ProSieben
    machen oder über ein Leerzeichen in dem Eintrag des Kanals lösen:
    C Kanal-ID KanalName
    Dann könnte noad danach suchen.... (und andere scripte könnten es auch verwenden ohne auf den VDR zurück greifen zu müssen)....


    Dass der Sendername mit in das info.vdr geschrieben wird, ist eigentlich das geringste Problem. Kann ich bei Bedarf auch gerne einen Patch dafür machen. (wobei das sicher auch jeder andere ohne Probleme hinbekommen :))
    Mir ging es bei meinem Patch auch darum, nicht zu sehr in die bestehende Struktur einzugreifen. Der Sendername als zusätzliches Argument für das Skript stört ja keine bestehenden Skripte/Programme - aber man kann sie dadurch erweitern.


    --
    Chris

    Software OS: Debian Lenny, Kernel: 2.6.24, VDR: 1.7.0 +ext60 +h.264
    Hardware CPU: Sempron64 1.8GHz (C&Q), MB: Foxconn 760GXK8MC, RAM: 512MB, HDD: ST 160GB, DVB: TT C2300 / KNC1v1, DVD: Pioneer DVR-106D, LCD: 4x20 (blau), IR: LIRC

  • Quote

    Originally posted by zulu
    danke für die Patche.
    Ich habe vdr-1.4.6-1-ext26-dvl-fixed.diff in den Extensions-Patch v.27 übernommen.


    Freut mich, wenn die Sachen jemand gebrauchen kann! Mir fällt dazu nur immer ein, dass ich selbst ja einige Patches/Plugins von Leuten hier benutze und das echt eine super Plattform ist. Also warum nicht beitragen. :)


    --
    Chris

    Software OS: Debian Lenny, Kernel: 2.6.24, VDR: 1.7.0 +ext60 +h.264
    Hardware CPU: Sempron64 1.8GHz (C&Q), MB: Foxconn 760GXK8MC, RAM: 512MB, HDD: ST 160GB, DVB: TT C2300 / KNC1v1, DVD: Pioneer DVR-106D, LCD: 4x20 (blau), IR: LIRC

  • Mahlzeit,


    ich weiß zwar nicht, ob euch das was bringt, aber ich hab schon seit einiger Zeit vdr so geändert, daß die Sendernamen in den Aufnahmen gespeichert werden und über die Funktion ChannelName() wieder zur Verfügiung stehen (z.B. für OSD-Infos). Die so geänderten vdr.info's machen auch einem ungepatchten vdr keine Kopfschmerzen.
    Wenn's jemand brauchen kann ...


    Gruß
    Alex