• Hallo

    Habe seit dem Neuaufsetzen der PCs mich bis anhin vor einer Install.von Avisynth drücken können.
    Jetzt komme ich aber nicht daran vorbei.
    Angesagt ist interlaced Video von PAL nach NTSC normzuwandeln und zwar so dass es anguckbar ist.
    Im Fundus habe ich aber nur noch dieses Script gefunden,NTSC to PAL.
    http://www.ww-consulting.ch/DL/ntsc-pal.txt

    Also etwas angepasst.....Stream sieht ganz gut aus...nur etwas verlangsamt.

    import("C:\Avisynth 2.5\Normwandlung\TempGaussMC_beta1mod.avsi")

    loadplugin("C:\Avisynth 2.5\Normwandlung\mvtools2.dll")
    loadplugin("C:\Avisynth 2.5\Normwandlung\RemoveGrain.dll")
    loadplugin("C:\Avisynth 2.5\Normwandlung\Repair.dll")
    loadplugin("C:\Avisynth 2.5\plugins\mt_masktools-25.dll")
    ###loadplugin("C:\Avisynth 2.5\Normwandlung\VariableBlur.dll")
    loadplugin("C:\Avisynth 2.5\Normwandlung\EEDI2.dll")

    AVISource("F:\2.9600.avi",pixel_type="YUY2")
    converttoyv12(interlaced=true) #yv12 für den deinterlacer


    TempGaussMC_beta1mod(2,2,3,0,0,0,"EEDI2",eedi2maxd=16,truemotion=true,sharpness=1.75,Sbb=2,SLrad=2,SVthin=0.75,Sovs=2)

    # bewegungsinterpolierende frameratekonvertierung auff 50fps
    super = MSuper(pel=2)
    backward_vec = MAnalyse(super, overlap=4, isb = true, search=3)
    forward_vec = MAnalyse(super, overlap=4, isb = false, search=3)
    MFlowFps(super, backward_vec, forward_vec, num=50, den=1)

    #resize
    lanczosresize(width, 480)

    AssumeFPS(30000,1001)

    Vor VariableBlur musste ich eine Raute setzen.

    Abarbeitung auf einem Q9550,8 % Realtime

    Wie kann man diesen Script verbessern?

    Nachtrag:
    Das Ganze wird noch unter XP abgearbeitet.Avisynth Version 2.57
    Auf einem W7-64 Bit System wollte ich ganz neu anfangen mit Version 2.58,also sauber und ganz nackig.
    Den Unterordner "Normwandlung" dann rüberzuschieben ist ja kein Problem,leider ist aber in der neuen V.2.58 der Ordner Plugins nicht mal mit dem Nötigsten ausgestattet.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    Einmal editiert, zuletzt von Goldwingfahrer (25. November 2011 um 09:35)

  • Da fehlt sicher noch mehr.
    Hab dann um 02:30 den Procoder angewiesen das Script abzuarbeiten und den PC auch schlafen zu legen.

    8% Realtime sollte es heissen.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • TempGaussMC erzeugt bereits 50 fps Video

    Zitat

    MFlowFps(super, backward_vec, forward_vec, num=60000, den=1001)

    und dann zurück von 59,94 gebobbt nach 29,97 interlaced
    (und nicht assumefps, erzeugt ne Zeitlupe)

    Zitat

    separatefields().selectevery(4,0,3).weave()

  • Edit: vor lauter Tippen die Post von bigotti nicht gesehen....


    Der mittlere Teil des Scripts ist -wegen einem falschen Parameter- für die Katz'. Erst wird mit TGMC gebobbt: 25i->50p. Dann kommt MFlowFPS auf 50/1, d.h. es wird von 50fps bewegungsinterpoliert auf 50fps. Nich' gut, oder?
    In der Zeile mit MFlowFPS müsste es also heißen "num=60,den=1". Nur dann macht es auch Sinn.

    Mit neueren Script-Varianten kann man sich auch die zweite Phase der (erneuten) Bewegungssuche komplett ersparen. TGMC (und QTGMC) berechnen ja intern bereits fleißig Bewegungsvektoren - da ist es doch naheliegender, die bereits vorhandenen Vektoren einfach nochmal zu benutzen, anstatt alles nochmal neu zu berechnen. Oder nicht?

    Was die Geschwindigkeit angeht: Erstens mal verwendet _beta1 noch EEDI2, das ist - äh, naja. Insbesondere da Du im Script "eedi2maxd=16" drin hast. Laaangsaaaam. NNEDI3 hat ein besseres Verhältnis aus Qualität/Geschwindigkeit, insbesondere wenn das Script single-threaded läuft (weil NNEDI3 nämlich intern multithreading verwendet.)

    Außerdem sind die Settings TGMC(2,2,3, ...) für diesen Zweck hier totaler Overkill, und viel zu langsam. (Insbesondere falls das Endergebnis dann noch wieder re-interlaced werden sollte.) Hier kann man m.E. mit viel weniger Aufwand zu einem gleichwertigen Ergebnis gelangen.


    Die Möglichkeiten:

    a) Das neuere QTGMC Script von -Vit- bietet die Möglichkeit, die Vektoren über globale Variablen nach außen zu transportieren. Dann kann man sein eigenes MFLowFPS mit den globalen Vektoren machen.


    b) Ich hatte mal den TGMC_beta2 inoffiziell auf _beta3 geändert. Neuer Parameter: "convFPS"

    TempGaussMC_beta3.avsi.zip

    convFPS = -1 (default) : deaktiviert, normales bobbing

    confFPS = 0 : automatische NTSC<>PAL Konvertierung: Input 25i wird zu Output 60p (59.97). Input 30i wird zu Output 50p.

    convFPS = 1 / 2 : wie '0', aber mit zusätzlichem Motion Blur (1=etwas, 2=etwas mehr)


    Mit dieser Variante schmölze Dein Script zusammen auf:


    Und feddisch. PAL in, NTSC out.

    Dieser Vorschlag ist bei mir mehr als doppelt so schnell (~225%) wie Dein Script incl. der Korrektur (num=60,den=1).

  • Oha....
    Hab mal den Script geändert gemäss Bigotti,dein Beitrag war da noch nicht zu lesen.
    Der Procoder stürzt nach etwa 5 Minuten ab.
    VDub nimmts an,aber

    Nachtrag:

    Zitat

    Neuer Parameter: "convFPS"


    da bin ich heute früh auch drübergestolpert,bei diesem folgenden Script aus meiner Asbach-Uraltsammlung.

    import("C:\Avisynth 2.5\plugins\mvbob~.avs")

    avisource("F:\2.9600.avi").assumebff()
    crop(16,16,688,544)#Achtung,aufpassen ob 720 oder 704 Breite.

    mvbob(convfps=true)
    bicubicresize(width, 480)

    Danke Jungs.....ich werde mal ausmisten müssen und zwar ganz enorm und dann Avisynth neu installieren.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    Einmal editiert, zuletzt von Goldwingfahrer (25. November 2011 um 13:54)

  • Könnte daran liegen dass mit den ursprünglichen "50,1" der MFlowFPS automatisch im Bypass war (weil es nichts zu ändern gab.) MIT der Korrektur ist's dann wirklich aktiv, und erzeugt zusätzliche Komplexität.

    Single-threaded sollte das aber eigentlich keine Stabilitätsprobleme verursachen...

    Vermutlich ist irgendwo Speicher knapp geworden -- Setz' mal ein "SetMemoryMax(888)" als erste Zeile ganz oben ins Script.


    Edit - hab ich's richtig verstanden, dass im Moment noch Avisynth 2.5.7 installiert ist? Uuiiii, das war doch vor 3 oder 4 Jahren bereits veraltet. Es gab auch Nickligkeiten mit dem Speichermanagment.

    2.5.8 ist mindestens empfohlen. Bin selber aber mit 2.6(MT) ziemlich zufrieden. :)

  • Didée
    Nun habe ich diese Meldung
    Program Manager_2011-11-25_14-02-17.png

    Zitat

    Edit - hab ich's richtig verstanden, dass im Moment noch Avisynth 2.5.7 installiert ist?


    yes,nach einem halben Jahr Pause.
    Habs erst Gestern wieder installiert und da noch die passende Avisynth aus dem gezeigten MT_Paket nach System32 geschoben.

    WinZip Pro - mt_20070301.zip_2011-11-25_14-21-29.png

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    Einmal editiert, zuletzt von Goldwingfahrer (25. November 2011 um 14:23)

  • Zitat

    2.5.8 ist mindestens empfohlen.


    Okay,ist sicher besser ich werfe alles von Bord,steuerbordseitig und stelle aufs frühere Image ohne Avisynth 2.57 zurück.
    Denn jetzt habe ich dem Einfügen von
    "SetMemoryMax(888)"

    wieder eine Meldung.

    Danke für die neue Needi3,werd jetzt aber erstmal neu die V.2.58 installieren.


    Nachtrag:
    Es klappt nun unter Avisynth 2.57 mit der neuen nnedi3 Version.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    Einmal editiert, zuletzt von Goldwingfahrer (25. November 2011 um 14:56)

  • Ach, siehste ... jetzt weiß ich wieder, warum die Version "inoffiziell" war: Das Script funktioniert so nur mit Multithreading-Versionen von Avisynth. Die Normalo-Versionen haben den Befehl "GetMTmode" natürlich nicht ...

    Version für Schmalspur-Avisynth: TempGaussMC_beta3.avsi.(Avisynth.Non-MT).zip

    Ginge sicherlich über eine Catch{err_msg} - Schleife .... hab ich aber noch nie gemacht, nix wisse wie gehe das. :D

  • Zitat

    Das Script funktioniert so nur mit Multithreading-Versionen von Avisynth.


    Oha......hatte hier dann nach etwa 5 Minuten Abarbeitung bei VDub und im Procoder jeweils einen absturz,das heisst beide Tools stellten die Abarbeitung ein,sang und klanglos.
    Habe nach Sichten des Orig.Streams einen kleinen Fehler in der Quelle gefunden,ist ja nur erstmal ein Testfile und noch unter V.2.57.
    Jetzt sieht es so aus,siehe Screen.

    Sorgen habe ich eigentlich fast keine.......nur die eine...warum ist der neue Pluginordner in der V.2.58 so leer,da gehört doch m.E.das Nötigste doch schon mal rein.Klar habe ich schon früher mal gelernt dass man nicht alles in den Pluginsordner schmeissen soll.Seit 2004 hat sich da aber doch eine Menge angesammelt und es fällt mir ausgesprochen schwer nicht da reinzulangen um was in den neuen Pluginsordner rüberzuschmeissen.

    Einen ganz grossen Dank an Dich Didée,hätte nie gedacht dass der Verzerr von selbst eingemachten Quitten so das Denkvermögen fördert.;-)

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Heißt das es funktioniert jetzt, oder nicht?

    Geschwindigkeit sieht für nen Q9550 normal aus, glaube ich. Mein i7-860 macht mit dem single-thread Script auch nur ca. 3.5 fps bei 576i25 -> 480i30.

    Mit multithreading sind's dann ca. 13.5 fps. ;)

  • Zitat

    Heißt das es funktioniert jetzt, oder nicht?


    Ja.
    Auch die Geschwindigkeit ist für mich okay.Wir kennen da ja noch ganz anderes.

    Hier mal einen Vergleich.
    Linke Bildhälfte mit Avisynth erstellt.
    Rechte Hälfte mit Edius 5.51
    Beide Streams in DV-AVI NTSC auf die Timeline gelegt.
    Kein croppen oder irgendwelche Filter eingesetzt.

    Dann siehts so aus.[Testfile aus einem alten TV-Tuner-Test]
    http://www.ww-consulting.ch/DL/Still1125_00000.jpg

    Linke Bildhälfte mit dem Layouter etwas an die Rechte angepasst,Schärfe leidet so etwas,aber absolut kein
    Bildwabern in der linken Filmhälfte.
    [File hier,damit die Hochladedatei klein bleibt,in mpeg2]
    http://www.ww-consulting.ch/DL/Vergleich.zip...Link gelöscht,hatte einen falschen Stream ausgewählt.


    Codieren in Edius 5 und V.6 klappt bedeutend schneller als im Procoder,Faktor 3 bis 4x schneller.
    [PAL DV-AVI to NTSC DV-AVI]

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    Einmal editiert, zuletzt von Goldwingfahrer (25. November 2011 um 23:59)

  • Linke Bildhälfte mit dem Layouter etwas an die Rechte angepasst,Schärfe leidet so etwas,aber absolut kein
    Bildwabern in der linken Filmhälfte.


    Also, bei dem File ist rechts gar kein Interlacing, aber vor allem: in der linken Hälfte ist das Interlacing zerstört. (Top/Bottom Felder sind teil-verschmolzen ... wenn man dieses Video bob-deinterlaced, dann gibt's keinen Bewegungsfluss, sondern wurbel-schwurbel.)

    Du hast nicht etwa mit "dem Layouter" das interlacte Video genommen, und dann (progressiv) in der Vertikalen angepasst? :)

    Bück' Dich schon mal nach vorne, ich hole derweil den Teppichklopfer. :D

  • Zitat

    Du hast nicht etwa ...


    Doch habe ich,aber nur aus dem einzigen Grund um zu schauen obs zwischen den beiden Streams ein Bildversatz gibt.
    Und es ist so einfacher zu kontrollieren.
    Dass man interlaced Zeugs nicht scalieren soll weiss ich,ist hier das 11.Gebot.

    Hab so wie es aussieht einen falschen Stream erwischt,einen mit bff und der andere mit tff....hatte ja noch andere Files bereits vorher erstellt.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    2 Mal editiert, zuletzt von Goldwingfahrer (26. November 2011 um 00:01)

  • Hallo Didée,

    in Bezug auf deinen Satz: „...bei dem File ist rechts gar kein Interlacing, aber vor allem: in der linken Hälfte ist das Interlacing zerstört.“, möchte ich fragen, wie erkennst Du das, dass das so ist?
    Besitzt Du dafür eine Software, oder siehst Du das automatisch durch deine Erfahrungen als Entwickler? Oder eventuell an dem kleinen Bildruckler bei der Frau?
    Dieser kann aber auch von dem älteren Band stammen. Ich glaube, das würde auch andere Leute interessieren.

    Ich sehe nur, dass die linke Seite etwas schärfer ist, als die rechte Seite. Danke für eine Aufklärung.

    Grüße von
    Jo

  • Na, ich schrieb's doch: "wenn man dieses Video bob-deinterlaced, dann gibt's keinen Bewegungsfluss, sondern wurbel-schwurbel."

    Schaut man nur auf die interlacten frames, dann ist es oft schwer, zu sehen ob das Interlacing korrekt oder verformt/beschädigt ist:

    Interlaced-frame-falsch-richtig.jpg

    Links (im extra eingeblendeten Feldindikator-Bereich), da kann man's deutlich erahnen. Rechts im tatsächlichen Video zwar auch, aber längst nicht so einfach. Man muss sich nicht schämen, wenn man es dem interlacten Video nicht direkt ansehen kann.

    Aber der "Zweck" von Interlacing ist ja, die zusammengewobenen Felder während der Wiedergabe voneinander zu trennen, und nacheinander zur Ausgabe zu bringen.

    Genau das macht man mit einem Bob-Deinterlacer.

    Ergebnis: interlaced-falsch-richtig.avi (ist stark verlangsamt damit man's besser sehen kann)

    Video anschauen. Dann sollte eigentlich klar sein, woran man das Problem erkennen kann. :)


    Wird übrigens sehr häufig falsch gemacht. Heutzutage wo jeder das Fernsehprogramm auf Festplatte aufnehmen kann ... rein in den XYZ-ichmachallesfürdich-Editor, schnell die Größe etwas ändern oder die Ränder ein bisschen beschneiden, und ... schon ist alles kaputt, und kann auch nicht mehr repariert werden.

  • Didée

    Avisynth 2.58
    Win7 64 Bit.
    TGMC_Beta3

    Fehlermeldung
    [Blockierte Grafik: http://img39.imageshack.us/img39/4276/vdubfehler.jpg]

    Im Pluginsordner herrscht noch jungfräulichkeit.
    Die Benötigten sind im Unterordner "Normwandlung"

    Ausgewechselt habe ich schon RemoveGrainSSE3.dll und RepairSSE2.dll
    mit RemoveGrain.dll und Repair.dll

    Kein MT

    "SetMemoryMax(888)"
    import("C:\Avisynth 2.58\Normwandlung\TempGaussMC_beta3.avsi")

    loadplugin("C:\Avisynth 2.58\Normwandlung\mvtools2.dll")
    loadplugin("C:\Avisynth 2.58\Normwandlung\RemoveGrain.dll")
    loadplugin("C:\Avisynth 2.58\Normwandlung\Repair.dll")
    loadplugin("C:\Avisynth 2.58\Normwandlung\mt_masktools-25.dll")
    loadplugin("C:\Avisynth 2.58\Normwandlung\nnedi3\nnedi3.dll")
    LoadPlugin("C:\AviSynth 2.58\Normwandlung\VerticalCleanerSSE2.dll")

    Normwandlung_2011-11-26_19-28-09.png

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Sch...ade.

    Hab' leider keine rechte Idee, woran das liegen sollte. Wenn bei Q/TGMC über "Instabilitäten" gesprochen wird, dann dreht es sich immer um MultThreading. Im Single-Threading Betrieb sind eigentlich keine Probleme bekannt. (Und im Ernst, bei 1thread hab ich noch NIE einen Absturz gehabt.) (Und MT ist auch im Griff, mit SD-Quellen. Nur HD1080i kann manchmal kritisch werden.)

    Nicht die SSE3.dll's von RemoveGrain/Repair zu nehmen ist schon mal kein Fehler. Die SSE2.dll's sind aber okay.

    Falls Du eventuell auch mit anderen Plugins nicht ganz auf dem laufenden bist - insbesondere MVTools2: im Zweifel mal die neueste (2.5.11.3) von http://avisynth.org.ru/mvtools/mvtools2.html ziehen. (ganz unten auf der Seite.)


    Ansonsten - keine Ahnung, sorry. Mal im Taskmanager verfolgt, ob irgendwelche RAM-Werte ("Arbeitssatz" oder "zugesicherte Größe") sich mit der Zeit der 2GB-Marke annähern? (Wenn irgendwo ein "Memory Leak" vorhanden ist, dann schreit das leider nicht "hallo, hier bin ich!")


    Wurde die Kiste schon mal 24h gelinxt?

Jetzt mitmachen!

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