[Gelöst] Wie Index von älteren Aufnahmen regenerieren?

  • Ein Unterschied ist, daß im Batchbetrieb kein Ausgabeplugin beteiligt ist. Falls dieses den VDR bei der Wiedergabe abstürzen läßt, wird natürlich keine Indexdatei erzeugt. (Oben wurde so etwas erwähnt.)


    Iirc ist es wichtig, die Wiedergabe laufen zu lassen, bis die Indexerzeugung abgeschlossen ist.


    CU
    Oliver


    Ich habe keinen Absturz bei der Wiedergabe und ich hatte den ganzen(!) Film laufen lassen und es wurde keine "index" erstellt.


    kls,


    wie, bzw. mit was, kann ich die Größe der GOP ermitteln?


    Aufgenommen müsste, der Zeit nach, mit vdr-1.7.16 worden sein und die "index" wollte ich mit vdr-2.1.6 erstellen.


  • wie, bzw. mit was, kann ich die Größe der GOP ermitteln?


    Wenn du in remux.c in der Zeile


    static bool DebugFrames = false;


    statt 'false' ein 'true' reinschreibst, dann gibt VDR an der Konsole Infos über die Frame-Erkennung aus.


    Zitat


    Aufgenommen müsste, der Zeit nach, mit vdr-1.7.16 worden sein und die "index" wollte ich mit vdr-2.1.6 erstellen.


    Die 2.1.6 sollte das eigentlich in beiden Fällen gleich machen.


    Kannst du mir mal deine Aufnahme uploaden?
    So etwa eine halbe Minute sollte schon reichen.
    Kontaktiere mich ggf. per Email wegen der Login-Daten.


    Klaus

  • Ich habe keinen Absturz bei der Wiedergabe und ich hatte den ganzen(!) Film laufen lassen und es wurde keine "index" erstellt.

    Das selbe bei mir.


    Versuch doch mal, die erste Minute aus der Aufnahme (mit index) zu schneiden, dann bei der geschnittenen Aufnahme den index loeschen und testen, ob der beim Abspielen neu erstellt wird. Wenn nicht, haben wir ja eine zweite Testdatei, die nur ein paar zig Megabyte gross ist und in einem DVB-aehnlicheren Format vorliegen duerfte...


    Gruss,
    S:oren


    Edit: Hat sich mit dem vorangegangenen Post ueberschnitten...

  • Ich glaube, dass ich den Fehler gefunden habe. ;)


    Nachdem ich nun mehrfach die "index" gelöscht habe und anschließend die Wiedergabe gestartet habe, ist es so, dass es mal geht und mal eben nicht.


    Mir ist dann aufgefallen, dass wenn während der Erstellung der "index", das epg2vdr Plugin ein Update startet, die "index" nicht erstellt wird.


  • Ein epg2vdr-Plugin benutze ich nicht.


    Hier mal ein Log beim Abspielen meiner Testsequenz, es wird kein Index-File generiert:


    Hier beim Aufruf mit --genindex, es wird ein index generiert:

    Code
    Mar 25 22:58:34 guruvdr vdr: [2843] index file generator thread started (pid=2842, tid=2843, prio=high)
    Mar 25 22:58:34 guruvdr vdr: [2843] playing '/video/Test_genindex/2012-10-22.00.00.2-0.rec//00001.ts'
    Mar 25 22:58:34 guruvdr vdr: [2843] WARNING: required 5 video TS packets to determine frame type
    Mar 25 22:58:35 guruvdr vdr: [2843] unknown frame delta (3690), assuming 25,00 fps
    Mar 25 22:58:35 guruvdr vdr: [2843] WARNING: required 5 video TS packets to determine frame type
    Mar 25 22:58:36 guruvdr vdr: [2843] index file generator thread ended (pid=2842, tid=2843)


    kls: Kannst Du daraus irgendwas erkennen?


    Gruss,
    S:oren


  • kls: Kannst Du daraus irgendwas erkennen?


    Bei mir sieht der Abspielfall so aus:



    Bist du ganz sicher, daß sich da nicht irgend etwas Anderes einmischt?
    Ist das definitiv ein vollkommen ungepatchter VDR 2.1.6 ohne jegliches unnötiges Plugin (also ausschließlich das Ausgabeplugin)?


    Klaus

  • Bist du ganz sicher, daß sich da nicht irgend etwas Anderes einmischt?

    Sicher bin ich nicht, im Gegenteil, ich habe keine Idee, wo der Effekt herkommt. Jegliche Test-Vorschlaege sind willkommen...

    Ist das definitiv ein vollkommen ungepatchter VDR 2.1.6 ohne jegliches unnötiges Plugin (also ausschließlich das Ausgabeplugin)?

    Ein paar vermeintlich ungefaehrliche Plugins (epgsearch, femon, picture, skinelchi, skinnopacity) habe ich noch drin. Ich werde es aber nochmal nur mit dvbhddevice und remote (brauch ich fuer HDMI-CEC) testen - vielleicht klappt das noch heute abend...


    Gruss,
    S:oren

  • So, jetzt nochmal getestet: Abspielen der Testaufnahme mit plain-vanilla vdr-2.1.6 + dvbhddevice-2.1.6 + remote-0.5.0, LCARS-Skin



    Und wie vorher: es wurde keine index-Datei erstellt.


    Nur mal ins Blaue geraten: Hier sind ja 5 Threads beteiligt. Kann es sein, dass die sich auf meinem relativ langsamen Single-Core-System irgendwie in die Quere kommen, jedenfalls in dieser Konstellation mit langen GOPs und nicht erkannter Framerate?


    Gruss,
    S:oren

  • Im Log steht

    Code
    deleting index file '/video/Test_genindex/2012-10-22.00.00.2-0.rec/index'


    Ich vermute, daß dies vom Aufruf IndexFile.Delete() am Ende von cIndexFileGenerator::Action() kommt.


    Es sollte sich doch relativ leicht herausfinden lassen, was da passiert ist.
    -> Variablen Running/IndexFileComplete/IndexFileWritten checken und herausfinden, wieso die Schleife verlassen wird.


    CU
    Oliver

  • Es sollte sich doch relativ leicht herausfinden lassen, was da passiert ist.

    Na gut, hab mich also mal hingesetzt und das debuggt. So ganz offensichtlich ist das fuer mich als Nicht-C++-Experte aber nicht gerade (ein cIndexFile erzeugt einen cIndexFileGenerator, der wiederum ein cIndexFile in seiner Action() anlegt)...

    Was ich also rausgefunden habe: Wenn innerhalb des INDEXFILECHECKINTERVAL die index-Datei zwar angelegt aber noch nicht befuellt wurde (weil der IndexFileGenerator z.B. noch mit dem FrameDetector-Sync beschaeftigt ist), dann kommt das aeussere cIndexFile durcheinander und cancelt den IndexFileGenerator, der daraufhin die index-Datei loescht. Folgender Patch hilft:


    Es war also tatsaechlich wie vermutet ein Problem im Zusammenspiel zweier Threads auf einem langsamen oder anderweitig ausgelasteten System, insbesondere bei aufwaendigem Frame-Sync.


    Gruss,
    S:oren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!