Vob-Dateien in einen umkomprimierten Film umwandeln?

  • Also ich habe jetzt mal extra angegeben, dass Masktools, TIVTC und Removegrain geladen werden. Klappt aber trotzdem nicht. Auch wenn ich die anderen beiden Scripte ebenfalls importiere kann VirtualDub mit Reduceflicker nichts anfangen.

  • Ok, damit klappt es Reduceflicker zu benutzen, aber das ändert auch nichts am Ruckeln. Was mir auch aufgefallen ist, durch mrestore wird die Framerate von 25 auf 23,98 herabgesetzt. Sollte ja eigentlich nicht sein oder?

  • Wenn es Dir nicht um das Rückgängig machen einer Normwandlung geht sondern nur um das Entfernen von Blends wäre Cdeblend geigneter.

    Code
    Mpeg2Source("D:\Temp\VTS_01_1.d2v")
    import("Cdeblend.avs")
    ord = last.getparity() ? 1 : 0
    leakkernelbob(ord,4,true,true)
    Cdeblend()


    mal versucht?

  • Ja aber für das Material brauche ich doch eine Normwandlung so wie ich das verstanden habe. Ich habe dein Script mal ausprobiert, aber mit Cdeblend wird das Ruckeln noch stärker und ich habe dann auch wieder 50 frames. Das bringt mich leider auch nicht weiter.

  • Weiß keiner einen Rat? Ich hab hier mal die angepasste Zeile aus mrestore.avs hinzugefügt, aber bei VirtualDub kommt immer nur don't know what rx means heraus.

    function mrestore(clip clp, int "numr=1001", int "denm=2400", int "mode=3", float "bf=0.6", bool "chroma=false", int "dup>0", int "cache=5", float "rx=3.0", float "ry=3.0", int "mthr=0", clip "dclip")
    {

    Ist direkt am Anfang der mrestore.avs. Ist da irgendetwas nicht richtig? Angenommen die Einstellung stimmt so, dann würde warscheinlich noch etwas fehlen, damit die Funktion rx ausfürbar ist. Ich habe aber bereits alle Plugins die bei der Anleitung angegeben sind + die verschiedenen Reduceflicker DDL's mitgeladen, aber ohne Erfolg. Leider kann ich auch keine benötigte DLL für diese rx Funktion finden.

  • Ja, böser Fehler. Es gibt nunmal einen wichtigen Unterschied zwischen der Deklaration einer Funktion (der Erklärung, wie man sie aufruft), und dem eigentlichen Aufruf. Sicher ... ein paar Grundlagen irgend einer anderen Programmiersprache wären auch für die Nutzung von AviSynth nützlich -- aber auch wenn man sich mit Informatik nicht direkt auskennt, kann man in der Dokumentation, die beim Installieren von AviSynth mit auf die Platte gepackt wird (sogar in deutsch, wenn man das im Installer aktiviert), eine recht gute Erklärung finden.

    Faustregel: Finger weg von der Funktion, wo sie deklariert und implementiert wurde (wo der Kopf mit den Parameterdefinitionen und der Körper mit den innerhalb auszuführenden Befehlen steht - meist eine *.avsi-Datei). Dort etwas zu korrigieren kann nur die Aufgabe des Autors sein - der Anwender wird immer nur LoadPlugin, Import und die gewünschte Funktion in sein Skript schreiben.

    Wenn es Fehler gibt, können die nur dort passieren, wo man in seinem eigenen Skript versucht, die Funktion aufzurufen. Und die häufigsten Gründe sind: a) man hat benötigte Plugins vorher nicht geladen; b) man hat Parameter nicht oder falsch an die Funktion übergeben (falscher Typ {bis hin zu falsches Videoclip-Format}, falsche Reihenfolge, vergessener Name bei optionalen Parametern).

  • Selur
    Das habe ich falsch verstanden. In der Anleitung stand diese Sache mit der function mrestore, deshlab habe ich nachgeschaut wo ich denselben Code finden kann. Daher habe ich gedacht der Code in der mrestore.avs müsste angepasst werden.

    LigH
    Also mit diesem Script sollte das also Funktionieren?

    d = last.bob(-0.2,0.6).reduceflicker(strength=1)
    tdeint(mode=1)
    mrestore(mode=-4,dup=1,dclip=d)

    Deinterlaced wird es zwar, also keine Streifen mehr zu sehen, aber leider ruckelt es dann wieder. Außerdem wird die Framerate wird von 25 auf 23,97 herabgesetzt. Ist das vielleicht das Problem, wodurch das Ruckeln entsteht?

  • Vielleicht sollten wir mal was von "dem Ruckeln" selber sehen. Fallst du in der Lage sein solltest, uns an dieser Erfahrung teilhaben zu lassen. Drüber reden nützt nichts.

    Am besten noch mit etwa dem gleichen Video-Ausschnitt ohne jede Nachbearbeitung, zum Vergleich.

    Falls ich die Downloadlinks übersehen haben sollte, tut's mir leid, ich bin heute recht müde...
    __

    P.S.: Einer der häufigsten Fehler ist, Telecine-NTSC zu deinterlacen, obwohl IVTC richtig wäre. Aber bei miesen Normwandlungen kann noch schlimmeres passieren...

  • Nun, die Urpsprungsdateien sind im .vob-Format und über 1 GB groß... Sowas kann ich ja schlecht hochladen. Also habe ich sie über VirtualDub abgespeichert. Da gibt es ja nur .avi. Ich kenne mich damit nicht so genau aus, aber vom Video her sollte das ja dasselbe sein, verändert ist daran ja nichts, lediglich in VirtualDub ohne Filter geladen und abgespeichert.

  • Ok, hab die Szenen jetzt mit DGIndex rausgeholt. Nur irgendwie kann man da nur jede Szene einzel wählen? Naja hab die jetzt in mehreren Dateien, denke aber mal das müsste gehen. Die Dinger scheinen ja auch unkomprimiert zu sein, jedenfalls sind die Dateien für ihre Läge extrem groß.
    Link

  • Wenn eine DVD unkomprimiertes Video hätte statt MPEG2, dann hättest du nicht nur 4-8 GB pro Film, sondern über hundert GB. Rechne doch aus:

    720 * 576 * 3 Bytes (R, G, B) * 90 min * 60 s/min * 25 fps ~ 168 GB

    Also kann das wohl nicht "zu groß" sein.

  • LigH
    Das hast du falsch verstanden. Ich meinte eigentlich, dass die Ausschnitte von DGIndex ohne weitere Komprimierung extrahiert werden, weil sie so groß sind.

    Selur
    Aber mit dieser Methode habe ich ja dann wieder 50 fps. Ich wollte eigentlich einen Encode mit den originalen 25 fps machen.

  • Achso verstehe, das ist bei DGIndex normal.

    Nur wie sieht das jetzt mit dem Deinterlacen aus? Gibt es da keine Möglichkeit die ruckelfrei ist und die 25 fps beibehält? Die 50 fps machen die Datei unnötig groß und sorgen beim Abspielen für hohe CPU-Last.

Jetzt mitmachen!

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