VDR markiert durchgehend jeden Frame als fehlerhaft mit insgesamt 153.485 Fehlern

  • Ich habe in das vdr-checkts tool von Tobias Grimm ein paar weitere ausgaben eingebaut, insbesondere wird die PID mit ausgegeben

    Danke, daran hatte ich nicht gedacht, obwohl ich es immer mitcompiliere ;)

    Ich habe es auch etwas aufgebohrt um die PIDs anzuzeigen, aber es findet etliche PIDs, die definitiv nicht in der fehlerhaften Aufnahme enthalten sind - vermutlich kommt es durch die Fehler (unvolllständige TS-Pakete ?) durcheinander.

    VDR findet mit DebugChecks = true compiliert diese "virtuellen" PIDs nicht - was korrekt ist.

    Aber der Indexer des VDR hat ein anderes Problem: Die fehlerhafte Aufnahme (mit starken Artefakten in den ersten vier Minuten) hat 153.485 Fehler nach dem Re-indexieren. Schneide ich die ersten vier Minuten weg, dann hat die resultierende Aufnahme noch 144.524 Fehler (der Schnittbalken im OSD ist weiterhin komplett schwarz von den Fehlermarkierungen).

    Lasse ich dann vdr --genindex darüber laufen, dann hat die Aufnahme Null Fehler und es gibt auch keine Ausgaben von DebugChecks = true.

    Momentan fehlt mir die Zeit das genauer zu untersuchen und ich bin mir nicht sicher, ob man das weiter verfolgen soll weil es ein ziemlicher Spezialfall ist ...

  • Aber der Indexer des VDR hat ein anderes Problem: Die fehlerhafte Aufnahme (mit starken Artefakten in den ersten vier Minuten) hat 153.485 Fehler nach dem Re-indexieren. Schneide ich die ersten vier Minuten weg, dann hat die resultierende Aufnahme noch 144.524 Fehler (der Schnittbalken im OSD ist weiterhin komplett schwarz von den Fehlermarkierungen).

    Lasse ich dann vdr --genindex darüber laufen, dann hat die Aufnahme Null Fehler und es gibt auch keine Ausgaben von DebugChecks = true.

    Momentan fehlt mir die Zeit das genauer zu untersuchen und ich bin mir nicht sicher, ob man das weiter verfolgen soll weil es ein ziemlicher Spezialfall ist ...

    FireFly , könnstest Du dazu einen neuenThread aufmachen? 153.485 Fehler ... das hat doch mit diesem Thread "Genau ein TS Fehler am Anfang der HD Aufnahme" nichts zu tun.

    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

  • kls: Kannst Du Dir mal oben meinen Beitrag #29 ansehen?

    Bei der ursprünglichen (re-indexierten) und geschnittenen Aufnahme werden alle Frames als fehlerhaft markiert, nach erneutem --genindex ist die geschnittene Aufnahme fehlerfrei, was auch dem subjektiven Bildeindruck entspricht.

    Kann es sein, das die Aufnahme mit einer Version vor 2.7.3 gemacht wurde?

    Evtl. ist das hiermit gefixt.

  • das hat doch mit diesem Thread "Genau ein TS Fehler am Anfang der HD Aufnahme" nichts zu tun.

    Ich vermute noch ein generelles Problem, dass sich auch als ein Fehler am Anfang zeigt, deshalb habe ich es hier gepostet.

    Kann es sein, das die Aufnahme mit einer Version vor 2.7.3 gemacht wurde?

    Evtl. ist das hiermit gefixt.

    Die Aufnahme wurde im Januar 2022 gemacht (mutmaßlich mit VDR 2.4.7 und Fehler die ersten Minuten durch Schneefall).

    Die Index-Generierung (für die Originalaufnahme und die geschnittene) und das Schneiden wurden mit VDR 2.7.3 (inkl. dem von Dir verlinkten Patch) gemacht.

  • Nicht beim Schneiden.... :(
    Wenn ich mit 2.7.3+Patch den vorderen, verpixelten Teil (0:00:00 - 0:04:00) wegschneide, dann ist trotzdem jeder verbleibende Frame (0:04:00 - 1:22:00) als fehlerhaft markiert. Lasse ich über diesen geschnittenen Teil (0:04:00 - 1:22:00) dann die Index-Generierung laufen, dann hat die Aufnahme Null Fehler.

  • Beim Schneiden wird keine Fehlererkennung gemacht.

    Ich war (und bin) fest der Auffassung, dass wir das mit v2.7.3 eingeführt hatten, den Fehler im Vor- bzw. Nachlauf sowie in Werbepausen lassen sich seitdem durch Schneiden "entsorgen".

    Oder willst du damit sagen, dass beim Schneiden nur bereits vorher erkannte Fehlerindikatoren kopiert bzw. eben weggelassen werden?

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Wenn der PTS-Abstand einmal zu groß war, hatte sich das nicht mehr "gefangen". Daher die Änderung

  • fnu, kannst Du bitte #29 sowie #36-#50 in einen neuen Thread

    "VDR markiert durchgehend jeden Frame als fehlerhaft mit insgesamt 153.485 Fehlern"

    auslagern?

    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

    Edited once, last by MarkusE (December 1, 2024 at 11:01 AM).

  • kannst Du bitte #29 sowie #36-#50 in einen neuen Thread

    Kann ich :) erledigt.

    HowTo: APT pinning

    Click for my gear

    [¹] Intel NUC Kit NUC7i5BNH, Akasa Newton S7, 8GB DDR4, WD Black SN700 500GB NVMe, Crucial MX500 2TB, CIR, SAT>IP, Ubuntu LTS 18.04.5, VDR 2.4.1 (15W)
    [²] Intel NUC Kit NUC7i3BNH, 8GB DDR4, WD PC SN520 250GB NVMe, Crucial MX500 1TB, CIR, SAT>IP, Ubuntu LTS 20.04.1, VDR 2.4.1 (13W)
    [³] BQ500, Asrock X470D4U, AMD Ryzen 5 5600, 32GB DDR4 ECC, 2x WDC SN750 512GB, 4x Samsung SSD 4TB, 1x Samsung SSD 8TB, 1x Crucial MX500 500GB, 1x WDC Blue SSD 500GB, Windows Server 2019 Hyper-V (35W)
    [⁴] Jultec JPS0501-12AN, JPS0501-8M2, Octopus Net (DVBS2-8) & openHABian 3.3.0

  • Ich habe jetzt die Testaufnahme von FireFly (danke dafür!) analysiert und folgendes gefunden:

    1. Die Aufnahme hat am Anfang so viele fehlerhafte TS-Pakete, dass es nicht gelingt, den FPS-Wert zu ermitteln. Daher nimmt VDR defaultmäßig an, es wären 25fps, was dann dazu führt, dass nachfolgend alle Frames als fehlerhaft gemeldet werden, weil die Referenzen nicht stimmen. Wenn ich manuell den richtigen Wert vorgebe (50fps), dann sind diese Fehler weg. Da werde ich mir noch was überlegen.

    2. In der Aufnahme gibt es eine Fehlerstelle, bei der ein viel zu großer Wert für num_ref_frames_in_pic_order_cnt_cycle gelesen wird. Dadurch dauert das Regenerieren des Index sehr lange, da die nachfolgende for-Schleife mehrere Milliarden mal durchlaufen wird. Ich habe das jetzt mal so geändert:

    Das Problem wird z.B. auch hier beschrieben.

    Was ich allerdings nicht rausfinden konnte ist, wie groß gültige Wert für num_ref_frames_in_pic_order_cnt_cycle sein können (hab jetzt mal 32 genommen, damit scheint es zu gehen).

    Weiß das vielleicht jemand?

    Möglicherweise wäre es auch sinnvoll, beim Auftreten dieses Fehlers cH264Parser::ParseSequenceParameterSet() gleich ganz zu verlassen, da alles Nachfolgende ja keinen Sinn mehr machen dürfte.

    Mach mit beim VDR User Counter! Jetzt mit OpenStreetMap!

    Edited once, last by kls: Falscher User (December 4, 2024 at 3:36 PM).

  • Gerade ist mir noch aufgefallen, dass das wahrscheinlich eh der falsche Zweig für dieses Video ist.

    pic_order_cnt_type ist nämlich in den allermeisten Fällen 0, hat an Fehlerstellen gerne mal "krumme" Werte, und ist auch zufällig ein paarmal 1 (und triggert dann den o.g. Fehler).

  • Das ist jetzt mein momantaner Stand für diesen Fix:

    Die Abfrage von TsError(p) in cTsPayload::GetByte() bewirkt, dass nur fehlerfreie TS-Pakete geparst werden. Damit tritt der im zweiten Hunk korrigierte Fall gar nicht mehr auf und der FPS-Wert wird richtig erkannt.

    Da würde mich jetzt Input von euch interessieren. Ist die Änderung im ersten Hunk ausreichend? Soll ich den zweiten Hunk (der ja eh nur ein Symptom kuriert) weglassen?

    Mach mit beim VDR User Counter! Jetzt mit OpenStreetMap!

    Edited once, last by kls (December 4, 2024 at 11:54 PM).

Participate now!

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