avs4x264mod.exe stürzt bei Interlaced-Video ab

  • Hallo,

    ich kodiere gerade meine verbliebenen Serien-DVD für die platzsparende Unterbringung auf meinem HTPC nach AVC. Ich rechne alle Serien pauschal interlaced um, da ich mir die Mühe das erst zu prüfen nicht mache. Bisher gab es damit keine Probleme wie folgendes: Habe da noch einen Film auf DVD der vermutlich nie auf Blu Ray erscheinen wird. Daher nehme ich die DVD und rechne auch die in AVC um. Das meiste darin ist progressiv, einige Interview- und Archiv-Bilder darin (ist eine Doku über historische Ereignisse mit Spielszenen, Originalbildern und Interviews) sind aber interlaced. Ich lasse das ganze also auch hier interlaced kodieren. Bei dem Film stürzt aber die avs4x264mod.exe ab (ich erhalte eine Meldung, dass die Anwendung nicht mehr reagiert). Im Megui-Log steht

    Zitat


    processs exits with error: 0xC0000005 STATUS_ACCESS_VIOLATION (-1073741819)

    Dann stehen da noch Warnungen, die aber wohl kein Grund für den Absturzt sein können. Im englischen Forum stand die würden öfters kommen:

    Zitat


    x264 [warning] interlace + weightp not implemented

    Ich verwendet das "slower" preset, die Kommandozeile von x264 ist übersichtlich und sieht so aus:

    Code
    x264 --preset slower --crf 20 --tff --sar 16:11 --output "output" "input"

    Das ganze lade ich per ffms2 (r827+36) einfach per ffvideosource(). Andere Filter außer undot() verwende ich keine. AviSynth ist die letzte stable galube von 2010, also keine 2.60 Alpha oder Beta.

    Das Problem hatte ich schon früher bei einigen Dateien, ich hab da einfach die Kommandozeile direkt mit x264 als Batch ausgeführt, das klappte. Evtl. wird da die o.g. exe nicht verwendet?

    nel-son

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Erst mal eine gute Nachricht:

    Zitat

    x264 [warning] interlace + weightp not implemented

    ist kein Grund zur Panik. Es bedeutet einfach nur: Die Entwickler haben gewichtete Abhängigkeiten in P-Frames nicht auf Interlaced-Encodierung optimiert, also bleibt gewichtete Encodierung bei P-Frames aus, wenn Interlaced-Encoding aktiv ist.

    Eine Interlaced-Encodierung zu AVC mit x264 ist auch recht sinnvoll, weil die MBAFF-Codierung recht effizient arbeitet und Slices erkennt, die für sich besser progressiv encodiert bleiben.

    Wovon ich erheblich abraten muss, ist eine blinde Verwendung von UnDot, wenn das Material eventuell interlaced ist. Da ist es wichtig, dass die Inhalte der darüber und darunter liegenden Bildzeilen keinen Einfluss auf die Filterung haben. Man müsste dann schon den Clip in Halbbilder aufteilen und UnDot auf diese anwenden, um das zu vermeiden (und in wenig bewegten Szenen wäre das auch wiederum nicht optimal gefiltert, weil ja dann die übernächsten Bildzeilen als Begrenzung verwendet werden, wo es gar nicht nötig wäre):

    PHP
    SeparateFields()
    UnDot()
    Weave()

    Stattdessen wäre wohl eine Filterung besser, die gezielt DCT-Artefakte in Macroblöcken behandelt. Da weiß ich im Moment aber kein "best of" (dfttest ist recht aufwändig, etwas langsamer, aber auch umsichtiger).

    So, und dann ... FFMS2 als Decoder für DVD-Material. Jetzt geht es zu den Detailfragen: Wie wurde der Hauptfilm (egal womit er von der DVD geholt wurde) dafür geeignet aufbereitet, hast du die Hauptfilm-PGC extrahiert und dabei Elementarstreams ausgeben lassen? Wie sieht das Skript ansonsten aus (ohne Filmnamen)? Welche Alternativen zu FFMS2 würdest du verwenden können (DGDecNV, DGMPGDec, LwLibavVideoSource), um einzugrenzen, ob es an einem instabilen Decoder liegt? Für nicht optimale Unterstützung von Interlaced-AVC als Quelle ist FFMS2 berüchtigt, bei MPEG2-Quellen bin ich nicht sicher, ob es da problematisch ist; allerdings liest FFMS2 auch eigentlich nur MKV-Dateien gern als Videoquelle, für alles andere braucht es eventuell Hilfe.

    Allerdings wäre es auch wichtig zu wissen, ob der Absturz beim selben Film wiederholt an der selben Stelle passiert; wenn nicht, ist wohl eher eine Überhitzung des RAM oder der CPU wahrscheinliche Ursache.

    Und letztlich: Ich nehme an, du verwendest avs4x264mod, um x264 als 64-bit-EXE zu verwenden. Ja, das kann ein wenig schneller laufen; aber bei SD-Bildfläche sollte es zeitlich vertretbar sein, auch x264 als 32-bit-EXE direkt mit dem AviSynth-Skript zu verwenden. Die 64-bit-Version wird auch die CPU intensiver auslasten, und dadurch vielleicht das Risiko der Überhitzung erhöhen, falls dies die Ursache sein könnte.

  • Zitat

    Wie wurde der Hauptfilm (egal womit er von der DVD geholt wurde) dafür geeignet aufbereitet

    Ich verwende für sowas gern MakeMKV, da es mir eine MKV-Datei ausgibt die ich per ffms2 laden kann und die UT-Stream im Anschluss gleich direkt in die fertige Matroska zusammen mit den kodierten Audio- und Videostreams ummuxen kann. Auch scheint MakeMKV rechts stabil gegenüber problemhaften Disks zu sein. Teilweise stürzten andere DVD-Demuxen ab oder weigerten sich die Disk überhaupt zu laden (btw. Handbrake eigentlich dafür auch gut). Ich habe also den Hauptfilm direkt aus der fertigen DVD rausgeholt und als Matroska gespeichert.

    Zitat

    Welche Alternativen zu FFMS2 würdest du verwenden können

    Kostenlose Decoder die nicht zwangsweise eine Nvidia-GPU brauchen. Da meine Ansprüche in diese Richtung aber gering sind (kaum Filter, kaum exotisches Material) nehme ich seit einiger Zeit nur ffms2, bin da aber nicht drauf festgelegt. Das meiste Material ist aber HD-AVC-Material mit einem kaum existierenden Anteil von Interlaced-Material.

    Hab jetzt mal mit DGDecode indexieren lassen und lasse das ganze gerade durchlaufen, mal sehen.

    Zitat

    Allerdings wäre es auch wichtig zu wissen, ob der Absturz beim selben Film wiederholt an der selben Stelle passiert; wenn nicht, ist wohl eher eine Überhitzung des RAM oder der CPU wahrscheinliche Ursache.

    Ich war mir zu Beginn auch nicht sicher, ob es immer die gleiche Stelle ist, scheint aber so zu sein. Passiert auch sehr spät bei über 99%. Die (fast) fertige Datei ist auch abspielbar. Der Fehler passiert hier schon innerhalb des Abspanns der am Ende eh beim muxen weggeschnitten worden wäre. Ich schließe daher Übersitzung aus. Der Fehler trat nur bei dieser einen Datei auf. Es liefen vorher und nachher auch andere interlaced Encodings von mpeg2 mit ffms2 problemlos durch.

    Ich hatte vergessen zu schreiben, dass der Fehler auch auftritt wenn ich auf 32-bit stelle (und ja, vorher hab ich immer 64-bit verwendet). Das scheint also nicht das Problem zu sein.

    Ich warte mal ab ob es mit DGDecode besser läuft.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

Jetzt mitmachen!

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