Brauche Hilfe für richtiges Avisynth Script für Interlaced Material

  • Hallo,
    ich hab hier ein VC-1 interlaced Material vorliegen (Ganges Blu-ray) und benötige Hilfe zum Erstellen einer AVC Version.

    Mein Plain Avisynth Script dazu ist aktuell:

    Code
    LoadPlugin("D:\MeGUI\tools\dgindexnv\DGDecodeNV.dll")DGSource("D:\Temp_BD\test2.dgi",fieldop=0)

    Für die Umwandlung mit x264 verwende ich derzeit (für progressive material):

    Code
    program --level 4.1 --bluray-compat --crf 20 --keyint 24 --open-gop --ref 4 --weightp 0 --slices 4 --vbv-bufsize 15000 --vbv-maxrate 15000 --me umh --no-fast-pskip --pic-struct --colorprim bt709 --transfer bt709 --colormatrix bt709 --min-keyint 2 --output "output" "input"

    Wie kriege ich das interlaced material nun in progressive material umgewandelt?
    Welche Avisynth Script Anpassungen sind nötig?
    Welche x264 Konfigurationsanpassungen sind nötig?

    PS: Ich hab einen Ausschnitt erstellt (.dgv + .vc1) und hier hochgeladen:
    test.zip (ca. 26MB)

    Der Anhang zeigt die Ergebnisse von DGIndexNV.

    Wäre dankbar für jede Hilfestellung.

    Grüße,
    pac-man

  • :welcome:

    Ich hab hier gerade keine modernere GeForce, kann also nicht selber anschauen ... aber bist du sicher, dass das Material wirklich combed ist, und nicht bloß interlaced-encodiert?

    Aber wenn die Kopie wieder 1080i werden soll, dann wäre es wohl am einfachsten, x264 im Modus Interlaced-TFF encodieren zu lassen (nur den Parameter "--tff" hinzufügen), statt erst zu deinterlacen, und dann mit "--fake-interlace" so zu tun als ob, nur damit es Blu-ray-kompatibel wird. Die MBAFF-Interlaced-Encodierung von x264 ist recht effizient, und wenn der Inhalt eigentlich progressiv wäre, würde der Fake-Interlace-Modus das gleiche tun.

    Wenn du aber sicher bist, dass du trotzdem unbedingt deinterlacen willst, gibt es eine ganze Reihe möglicher Lösungen, jeweils unterschiedlich aufwändig, langsam, hochwertig. Das einfachste wäre die Aktivierung des PureVideo-Deinterlacers über einen Parameter in DGSource(). Ansonsten gäbe es für AviSynth so Deinterlacer wie Yadif (noch ziemlich schnell) oder TDeint (schon etwas intelligenter); [Q]TGMC würde ich bei 1080i-Bildfläche nicht mehr empfehlen, das wird sicher zu langsam.

    Ansonsten: Ich glaube, die meisten Parameter kann man mit einer geeigneten Kombination aus --preset und --tune und --bluray-compat weglassen, da ist viel Redundanz in der Kommandozeile.

  • Wie kriege ich das interlaced material nun in progressive material umgewandelt?
    Welche Avisynth Script Anpassungen sind nötig?

    Entweder fügst Du an das Skript noch einen Deinterlacer, wie z.B. QTGMC an, oder Du nutzt gleich die Deinterlacing-Funktion von DGDecNV:
    DGSource("D:\Temp_BD\test2.dgi", fieldop=0, deinterlace=1) # Single-Rate Deinterlacing (29,97 fps)
    DGSource("D:\Temp_BD\test2.dgi", fieldop=0, deinterlace=2) # Double-Rate Deinterlacing (59,94 fps)
    Schau am besten mal in die Readme von DGDecNV.

    Welche x264 Konfigurationsanpassungen sind nötig?

    Im Grunde keine, aber was willst Du überhaupt für ein Ergebnis haben? Laut Deiner Kommandozeile willst Du eine Blu-Ray/AVCHD erstellen?
    Evtl. könnte man da noch etwas aufräumen.

  • Da war LigH mal wieder schneller....

    Ich hab hier gerade keine modernere GeForce, kann also nicht selber anschauen ... aber bist du sicher, dass das Material wirklich combed ist, und nicht bloß interlaced-encodiert?


    Ja, scheint wirklich interlaced zu sein. Habe mal mit LAV reingeschaut.

    Aber wenn die Kopie wieder 1080i werden soll, dann wäre es wohl am einfachsten, x264 im Modus Interlaced-TFF encodieren zu lassen (nur den Parameter "--tff" hinzufügen), statt erst zu deinterlacen, und dann mit "--fake-interlace" so zu tun als ob, nur damit es Blu-ray-kompatibel wird. Die MBAFF-Interlaced-Encodierung von x264 ist recht effizient, und wenn der Inhalt eigentlich progressiv wäre, würde der Fake-Interlace-Modus das gleiche tun.

    Das ginge natürlich auch...
    __

    Moment, gerade noch mal reingeschaut. Sieht etwas komisch aus. Muß ich mir noch mal genauer anschauen.
    __

    Das sieht sogar sehr komisch aus. Überall Kammeffekte, aber keine echten 59.94 fps Informationen.

    Einmal editiert, zuletzt von LigH (20. November 2012 um 19:56)

  • Wieso "sieht komisch aus"? Ist doch nur 'ne ganz normale PAL->NTSC Fieldblending-Normkonvertierung. :D

    Willkommen im HD-Zeitalter, wo alles nur noch auch kristallklarer Bildinformation besteht, "schärfer als die Realität", oder so ähnlich, leck' mich am ...

  • Danke für die raschen Antworten,
    muss mir mal eure Vorschläge genauer unter die Lupe nehmen.
    Rauskommen muss im Prinzip nur eine MKV Datei welche ich dann auch am TV (USB bzw. Netzwerk-Share bzw. MKV-fähigem Blu-ray Player) wiedergeben kann.
    Probleme bereiten mir bei diesen Materialien meist das Ruckeln.

    Nachtrag:
    Das Resultat soll zwar in erster Linie für den genannten Zweck rauskommen wobei ich mir die Möglichkeit offen lassen möchte später auch mal wieder eine Blu-ray bzw. AVCHD zu erstellen ohne Re-Encoden zu müssen.
    Die Parameter "--vbv-bufsize 15000 --vbv-maxrate 15000" hab ich selbst ermittelt, da ich bei einigen Filmen bei höheren Werten beim Abspielen über Netzwerk-Shares Probleme am MKV-Blu-ray-Player hatte.

    Einmal editiert, zuletzt von pac-man (20. November 2012 um 20:42)

  • Jo, an Srestore führt kaum ein Weg vorbei. Außer man nimmt RePAL. Macht am Ende aber sowieso kaum einen Unterschied.

    Geschwindigkeit ist auch nicht sooo schlimm. Srestore in Vdub rendern lassen läuft hier knapp über Echtzeit (26~27 fps). Das Material sieht auch nicht so aus als bräuchte es unbedingt QTGMC oder sonstige Verkünstelungen ... die reelle Auflösung liegt wohl sowieso eher bei 720p.

    1080p:

    Code
    DGsource()changefps(last,last,true)bob(0,0.5)srestore(frate=25.000,speed=-1,dclip=bicubicresize(768,432))

    720p:

    Code
    DGsource()
    changefps(last,last,true)
    bicubicresize(1280,height(),-.4,.2)
    bob(-.2,.2,height=720)
    srestore(frate=25.000,speed=-1,dclip=bicubicresize(768,432))
  • Danke für die raschen Antworten,
    muss mir mal eure Vorschläge genauer unter die Lupe nehmen.
    Rauskommen muss im Prinzip nur eine MKV Datei welche ich dann auch am TV (USB bzw. Netzwerk-Share bzw. MKV-fähigem Blu-ray Player) wiedergeben kann.
    Probleme bereiten mir bei diesen Materialien meist das Ruckeln.

    Nachtrag:
    Das Resultat soll zwar in erster Linie für den genannten Zweck rauskommen wobei ich mir die Möglichkeit offen lassen möchte später auch mal wieder eine Blu-ray bzw. AVCHD zu erstellen ohne Re-Encoden zu müssen.
    Die Parameter "--vbv-bufsize 15000 --vbv-maxrate 15000" hab ich selbst ermittelt, da ich bei einigen Filmen bei höheren Werten beim Abspielen über Netzwerk-Shares Probleme am MKV-Blu-ray-Player hatte.

    Beim Muxen zu MKV gehen einige für Blu-Ray wichtige Informationen verloren, die bisher keine Software wiederherstellen kann. Evtl. könntest Du erste eine rohe .h264-Datei ausgeben, dann zu mkv muxen und dann eine kleine xdelta-Datei erstellen, und erst anschließend die .h264-Datei löschen. Bei Bedarf läßt sich aus .mkv- und .xdelta-Datei die ursprüngliche h.264-Datei wiederherstellen.
    Ansonsten als Tip:
    Wenn man eh die vbv-Werte auf nur 15000 hat, darf man einige andere Parameter ändern. Setze Level auf 4.0 ab und Du darfst --slices weglassen und --keyint verdoppeln. "--min-keyint 2" hat keine Auswirkungen, wenn "--bluray-compat" gesetzt ist. Je nach Auflösung/Interlacing mußt Du noch --fake-interlaced oder --tff/--bff setzen. Fehlen tut auch noch --sar 1:1
    Schau mal dort rein:
    http://forum.doom9.org/showthread.php?t=154533
    https://sites.google.com/site/x264bluray

    Solltest Dir auch klarmachen, warum Du folgende gesetzt hast:
    --ref 4 --weightp 0 --me umh --no-fast-pskip --pic-struct
    Wenn es dafür keinen Grund gibt, würde ich sie weglassen. Diese Dinge ergeben sich eigentlich schon aus den anderen Parametern. Die Geschwindigkeit würde ich nur über --preset steuern.

  • Beim Muxen zu MKV gehen einige für Blu-Ray wichtige Informationen verloren, die bisher keine Software wiederherstellen kann. Evtl. könntest Du erste eine rohe .h264-Datei ausgeben, dann zu mkv muxen und dann eine kleine xdelta-Datei erstellen, und erst anschließend die .h264-Datei löschen. Bei Bedarf läßt sich aus .mkv- und .xdelta-Datei die ursprüngliche h.264-Datei wiederherstellen.


    Da bin ich ein wenig baff. Dachte MKV ist nur der Container und die darin gemuxte h.264 Datei bleibt nach dem demuxxen die selbe wie nach der Erstellung. (mittels mkvtoolnix)

  • Zitat

    Multiplexing/demultiplexing a stream through MP4/MKV will delete vital data such as IDK, delimiters, HRD, SPS, etc, necessary for blu-ray compatibility, particularly any calculations/data pertinent at the container level.


    http://forum.videohelp.com/threads/339799…u-ray-compliant

    shon3i (der, der die x264-Blu-Ray Guides auf z.B. doom9 erstellt hat) hat auch berichtet, daß er mit mkv-Quellen durch keinen Blu-Ray-Verifizierer mehr gekommen ist.

  • Nein, x264 erstellt diese Informationen ja selbst. Man muß aber halt h.264 ES als Ausgabe nutzen. (x264 input [bluray-zeug] -o output.h264)
    Die Informationen der ursprünglichen Quelle sind nach dem Neu-Kodieren natürlich irrelevant.

  • Ok, meine Ausgabedatei ist jedenfalls immer .264 welches ich dann als Quelle für die Erstellung der MKV Datei verwende.
    Meine Vorgensweise ist folgende:
    - Stream extrahieren mit ea3to (mittels HD Stream Extractor)
    - Index erstellen mit DGIndexNV für VC-1 Material
    - AVS Script Creator in MeGUI
    - Encoden mit x264 über MeGUI (persönliches Preset - siehe erstes Posting)
    - Muxen von Video (.264) + Audio (dts oder ac3) + Kapitel mit mkvmerge GUI (mktoolnix)

    Ich hab eben mal einen kleinen Test gemacht, mit welchem ich die .264 vor dem muxen mit der Version nach dem demuxen binär verglichen habe.
    Hier ist die demuxed version "prinzipiell" nicht identisch mit der muxed version, aber enthält im groben Überblick alle relevanten Daten, ist aber mit einigen informationen erweitert...

    Einmal editiert, zuletzt von pac-man (20. November 2012 um 23:43)

  • Was mkvtoolnix da im Detail ändert, habe ich mir noch nie angeschaut. Teilweise kommen auch sehr seltsame Ergebnisse: Wenn Du abwechselnd muxt und demuxt ( h264 -> mkv -> h264 -> mkv -> h264 -> ... ), ist keine Datei mit einer anderen identisch. Mosu hat leider keine Motivation/Zeit, um weiter reinzuschauen.

Jetzt mitmachen!

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