Alte Aufzeichnungen, fehlerhaft?

  • Hallo,


    Nachdem VDR jetzt Fehler in neuen Aufzeichnungen erkennen kann, denke ich natürlich an meine Alten ...

    Gibt es ein Script, das durch alle vorhandenen Aufzeichnungen geht, und diese testet?


    Geht das bei geschnittenen Aufnahmen überhaupt?


    ~Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Der VDR interpretiert Fehler als:


    Quote
    1. - Recordings are now checked for errors:
    2. + On TS level, the continuity counter, transport error indicator and scramble flags are
    3. checked.
    4. + On frame level it is checked whether there are no gaps in the PTS.

    Der continuity counter könnte mit vdr-checkts geprüft werden.

    PTS überprüfen wird bei geschnitten Aufnahmen nur gehen, wenn beim Schneiden PTS neu geschrieben wird. Ich weiß nicht, ob der VDR das macht.

    VDR
  • Hallo,


    Das attachte Script nutzt vdr-checkts , um die Info Datei mit der Zahl der Fehler upzudaten.

    Die zweite Zeile des Scripts müsst ihr anpassen, ansonsten ist es recht selbsterklärend.


    Ich habe es auf meinem RPI4 im /video Verzeichnis mit dem User vdr mit

    Code
    1. nohup find . -name "*.rec" -exec ~markus/bin/check_vdr_recording {} \; > check_rec.out &


    gestartet. Der läuft eh 24/7 ...


    Danach noch vdr restarten, ein touch .update reicht nicht.


    ~Markus

    Files

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Das ist gar nicht so schwer :)

    1. das oben verlinkte vdr-checkts-0.1.tar.gz auspacken (tar -xzvf vdr-checkts-0.1.tar.gz)
    2. in das daraus resultierende Verzeichnis vdr-checkts-0.1 wechseln
    3. dort make ausführen, dabei entsteht dann das ausführbare vdr-checkts
    4. das ebenfalls oben verlinkte check_vdr_recording.txt herunterladen und in check_vdr_recording.sh umbenennen, ausführbar machen. Dieses Skript verwendet das vdr-checkts, evtl. Pfad anpassen
    5. skript ausführen, dabei das Recording-Directory mitgeben, also etwa so ähnlich: check_vdr_recording.sh /srv/vdr/video/Testaufnahme/2022-02-18.09.00.146-0.rec

    Das Skript kannst Du dann für alle Deine Recordings ausführen: find /srv/vdr/video -name *.rec | xargs -0 check_vdr_recording.sh

    (alles aus dem Gedächtnis, könnte kleinere Syntaxfehler enthalten ;))

    :vdr2 Server: vdr 2.6.1 (yavdr) im Ubuntu 20.04 docker, Client: vdr 2.4.7 auf RPi (MLD 5.5) / Kodi (LibreELEC)

  • Danke, hat mir sehr geholfen. Allerdings hatte ich mt dem Skript:

    Code
    1. find /var/lib/video -name *.rec | xargs -0 sh check_vdr_recording.sh

    Es brach den Vorgang immer ab, wahrscheinlich wegen zu vieler Aufnahmen.
    Habe deshalb ein Skript verwendet das die Aufnahmen einzeln abarbeitet.

    Code
    1. find /var/lib/video/ -name *.rec | cat -n | while read n f; do sh check_vdr_recording.sh "$f" ; echo “bearbeitung von: “ “$n““$f“ “ beender“; done