Beiträge von tag

    Zitat

    Original von koepcke
    Wie kann ich die Schnittmarken importieren?


    Die Schnittmarken werden automatisch aus der marks.vdr importiert, sofern du es in den VLC-Einstellungen nicht abgeschaltet hast. Die Schnittmarken stehen dann im Wiedergabe-Menü als Kapitel zur Verfügung.


    Zitat

    Und wie kann ich den vlc überreden nach einem Stop das Video an der alten Position fortzusetzen?


    Du meinst nach einem kompletten Stopp, nicht nur nach Pausierung? Das macht VLC allgemein nicht. Da kann ich auch nichts dran ändern.

    Zitat

    koennte man nicht den doppel lick auf eine .vdr so zuweisen das er dann alle aus der aufnahme nimmt ?!


    Das geht nach dem gleichen Schema wie die Zapper-Anpassung. Allerdings muss man das in der Registry ändern. Das ist also eher etwas für die Mutigen. ;)


    Unter HKEY_CLASSES_ROOT\.vdr steht bei mir vdr_auto_file, also geht's bei HKEY_CLASSES_ROOT\vdr_auto_file\shell\Play\command weiter. Dort ist als Standardwert
    C:\Program Files (x86)\VideoLAN\VLC\vlc.exe --started-from-file "%1"
    eingetragen. Den habe ich zu
    C:\Windows\System32\wscript.exe e:\vlc-git\vlc-wrapper.js "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --started-from-file "%1"
    geändert. Die Pfade musst du natürlich an dein System anpassen. (Beachte auch die zusätzlichen Anführungszeichen um den VLC-Pfad!)

    Ich habe ein Plugin für den VLC geschrieben. Ziel ist, den Komfort beim Abspielen von VDR-Aufzeichnungen mit dem VLC zu verbessern.


    VLC kann bereits die einzelnen Videodateien abspielen. Das Plugin verbessert dabei einige Dinge:

    • Alle Teile der Aufnahme werden "zusammengeklebt". Der "Fortschrittsbalken" gilt dementsprechend für die gesamte Aufzeichnung und die Audio-Spur wechselt nicht bei jedem neuen Teil.
    • Schnittmarken werden importiert. Jede Marke stellt den Anfang eines neuen Kapitels dar, zwischen denen gesprungen werden kann.
    • Titel und Beschreibung werden ausgelesen und im VLC angezeigt.

    Benutzung


    Damit das Plugin auch wirklich verwendet wird, muss das Aufnahmeverzeichnis mit dem VLC geöffnet werden. Anstelle von
    vlc /pfad/zur/aufnahme.rec/001.vdr /pfad/zur/aufnahme.rec/002.vdr ...
    muss also
    vlc /pfad/zur/aufnahme.rec
    gestartet werden.


    Zapper


    Speziell für den VDR-Zapper habe ich noch ein kleines Skript geschrieben (siehe Anhang), das diese Anpassungen automatisch übernimmt. Das Skript fängt den VLC-Programmaufruf aus dem Zapper ab, ändert falls nötig die Parameter und startet dann erst den VLC. Das Skript muss dazu unter Einstellungen/Programme in den Programmoptionen eingetragen werden. Als Programmdatei muss wscript eingestellt werden. Bei den weiteren Optionen sind die Pfade zu vlc-wrapper.js und vlc.exe einzutragen, gefolgt von den eigentlichen weiteren Optionen.


    Um eine Aufnahme mit VLC direkt abzuspielen:
    Programmdatei: c:\Windows\System32\wscript.exe
    Weitere Optionen: "c:\pfad\zu\vlc-wrapper.js" "c:\pfad\zu\videolan\vlc\vlc.exe"


    Um eine Aufnahme nur in die Wiedergabeliste einzutragen:
    Programmdatei: c:\Windows\System32\wscript.exe
    Weitere Optionen: "c:\pfad\zu\vlc-wrapper.js" "c:\pfad\zu\videolan\vlc\vlc.exe" --playlist-enqueue


    Installation


    Entfällt! Das Plugin ist in VLC 2.0 bereits enthalten. Die veralteten DLLs aus dem Anhang bitte nicht mehr benutzen!

    Alter Thread, Problem existiert aber immer noch ... Ich habe gestern vdr-addon-sharemarks installiert und denselben Fehler erhalten:


    Zitat

    Original von netghost78

    Code
    No channel found in info.vdr!
    Failed to create sharemarks.conf, exiting


    Workaround: In /usr/bin/marks2pts nach der Stelle suchen, an der info.vdr geöffnet wird. Das sieht ungefähr so aus:


    Code
    dprint ("Open $indir/info.vdr\n");
        open INFFH, "$indir/info.vdr" or die "Could not open $indir/info.vdr";
    
        while (<INFFH>) {
            if ($_ =~ /^C\s+(\S+)\n/) {
                $info_cid = $1;
    	    dprint ("Found Channel in info.vdr : $info_cid\n");
            } 
        }
        close INFFH;


    In der Zeile mit dem if muss das \n am Ende entfernt werden, also:


    Code
    if ($_ =~ /^C\s+(\S+)/) {


    Jetzt sollte das Skript wieder funktionieren.

    Unbestritten löscht XFS langsamer als andere Dateisysteme, aber mal ehrlich: 527 Löschvorgänge pro Sekunde sind immer noch genug für einen Videorekorder. (Nach der Defragmentierung kann mein System auch wieder mithalten. :D)


    Zurück zum Thema: Ich habe mir das admin-Plugin genauer angeschaut. Anscheinend ist es speziell für gen2vdr geschrieben und hängt von speziellen Konfigurations-Skripten ab. Leider kann ich es deswegen nicht nutzen.


    Weil mir nichts Besseres eingefallen ist, habe ich den Holzhammer ausgepackt und im Quelltext den Wert für MINDISKSPACE in recording.c erhöht. Damit müsste XFS besser arbeiten können. Zusätzlich habe ich einige Tunig-Tipps umgesetzt. In Zukunft sollte Fragmentierung kein Problem mehr sein.

    Zitat

    Original von Ioannis
    zu schwachbrüstiger Hardware bzw. zu lahmer & kleiner Platte.


    Wenn auf der Platte reichlich Platz ist, klappt das durchaus ;)



    Zitat

    Original von halbfertiger
    Einstellungen -> Plugins -> admin -> System -> Minimal freier Plattenplatz


    Das Plugin bietet meine Paketverwaltung zwar nicht an, aber ich schaue ich mal, wo ich das herbekomme. Danke für den Tipp.



    Zitat

    Original von knebb
    Die Fragmentierung als Geschwindigkeitsbremse spielt bei Linux Dateisystemen fast keine Rolle. Wenn Du sichergehen willst, lass mal ein fsck -f darueber laufen. Dann siehst Du eine Angabe "non-contignous" (oder so :)). Das ist die Prozentzahl der Dateien, die fragmentiert sind. Wuerde mich wundern. wenn das wesentlich mehr als 1% waeren.


    Mit fsck kann ich nicht dienen, dafür aber mit etwas Anderem:

    Zitat

    # xfs_db -r /dev/sda1 -c frag
    actual 1349956, ideal 1407, fragmentation factor 99.90%


    Ist eigentlich auch kein Wunder: Wenn nur wenig Speicher frei ist und mehr als eine Aufnahme geplant ist, müssen die da alle reingequetscht werden. Bis wieder irgendwo anders auf der Platte etwas Speicher frei wird, der dann auch wieder aufgeteilt werden muss. Im Laufe von 6 Monaten entsteht dann eben so ein Flickenteppich. (xfs_fsr läuft seit zwei Tagen, mittlerweile bin ich auf 1849 runter)



    Zitat

    Original von knebb
    Loeschen geht natuerlich viel schneller als Schreiben, da nur Referenzen veraendert werden muessen und nicht die vollstaendigen Daten.


    Hast du eine bessere Erklärung?


    18 Sekunden, um 1,5 GB freizugeben, finde ich etwas übertrieben. Beim manuellen Löschen mit rm habe ich ähnliche Erfahrungen gemacht. Wenn die Änderungen an den Metadaten beim Löschen schon so lange dauern, kann ich nur erahnen, welche Auswirkungen das auf das Erstellen von Dateien hat.



    Zitat

    Original von knebb
    Ach so. Du meinst die Tatsache, dass der VDR versucht, alte Aufnahmen zu loeschen, wenn der Platz eng wird? Jo, das wird jedes Mal ueberprueft, wenn eine neue .vdr Datei eroeffnet wird.
    Zwei Wege, dem abzuhelfen:

    • Diese Ueberpruefung oefters machen lassen, also die Dateigroesse der 001.vdr 002.vdr runtersetzten. Auf 100MB oder so.
    • Den Puffer erhoehen, den der VDR vorhalten soll.
      [/list=1]

    • Das war ja die Frage ;) Mal sehen.



      Zitat

      Original von knebb
      Wenn da jetzt 10 Aufnahmen gleichzeitig laufen, komme ich theoretisch auf kanpp 20MB/s.


      Ich habe manuell 10 Timer angelegt und mit iotop gemessen. Ich musste mich richtig anstrengen, um 5MB/s zu erreichen. Da ist also durchaus noch Luft nach oben (hängt natürlich von den gewählten Sendern ab).



      Zitat

      Original von knebb
      [list]

    • Zitat

      Die angesehenen Aufnahmen immer sofot manuell loeschen. Dann sollte immer genug Platz sein.

    • Zitat

      Weniger gleichzeitig Aufnehmen- wann schaust Du den Mist denn an? :gap

    Zitat


    Wir benutzen den VDR zu fünft, und da passiert es eben manchmal, dass viele Sendungen gleichzeitig aufgenommen werden :coolgr Ich kann da auch nicht einfach löschen, weil ich im Zweifelsfall nicht weiß, ob jeder seine Lieblingssendung schon gesehen hat. Ein RAID ist übrigens schon seit geraumer Zeit in Planung, nur war es bisher schlicht nicht erforderlich. ;)

    Nicht schön. Ich hatte gehofft, es gäbe da einen einfacheren Weg.


    Die Videos liegen übrigens auf einer gesonderten Partition (tatsächlich sogar auf einer gesonderten Festplatte). Hintergrund meiner Frage ist folgender:


    Mein Dateisystem ist mittlerweile stark fragmentiert und vermutlich auch deswegen fürchterlich träge geworden, was sich insbesondere beim Löschen bemerkbar macht. Erschwerend kommt hinzu, dass manchmal bis zu zehn (sic!) Aufnahmen gleichzeitig laufen. Das passiert z.B. abends gegen 21:15 Uhr: Fünf hören gleich auf und fünf haben gerade angefangen. Zusammengenommen führt das dazu, dass schneller neue Sendungen aufgezeichnet werden als alte gelöscht werden können. Die Folge sind "ring buffer overflows" und beschädigte Aufnahmen.


    Ich habe jetzt erstmal von Hand 300GB gelöscht, damit mein VDR wieder in Schwung kommt, und dachte, die beiden Probleme ließen sich zukünftig vermeiden, indem VDR einfach die Platte nicht so vollstopft ...

    Wie kann ich denn einstellen, wie viel Speicherplatz VDR im Videoverzeichnis mindestens freihalten soll? Oder wie kann ich umgekehrt einstellen, wie viel Speicher höchstens belegt werden darf? In den Konfigurationsdateien habe ich nichts Passendes gefunden.
    Ich verwende VDR (1.6.0-8ctvdr3) auf Ubuntu (2.6.27-14-server). Als Dateisystem nutze ich XFS.