Wie vor Encoding zwischenspeichern?

  • Nach langer Suche im Netz bin ich nun doch mal wieder auf Hilfe angwiesen.

    Ich capture meine analogen Pal-Bänder mittels VirtualDub und HuffYUV-Codec. Anschließend wird das Video mit QTGMC deinterlaced und mit RemoveNoiseMC ein wenig entrauscht.
    Beides erfolgt über ein avs-Script. Um das ganze zu beschleunigen habe ich QTGMC mit SetMtMode ein wenig auf die Sprünge geholfen.
    Dadurch werden alle Kerne mit mind. 90% beansprucht und ich erhalte ca. 9-10 fps bei der Einstellung "very slow" nur beim deinterlacen.
    Durch den Entrauscher wird die Geschichte natürlich wieder ein wenig gedrosselt und ich liege bei ca. 6 fps.
    Mit dem Ergebnis bin ich sehr zufrieden.

    Da das Ziel ein mkv-Container mit x264-Codierung werden soll, habe ich momentan mit Staxrip Probleme.
    Lade ich das abgebildete Script in Staxrip erhalte ich eine Fehlermeldung in Line 21.
    Deinterlace ich vor dem entrauschen, speicher die Datei als avi und lade diese in das Script hat Staxrip komischerweise keine Probleme.

    Allerdings werkelt das ganze dann mit ca. 4 fps rum und das ist mir definitiv zu langsam.
    Ich möchte also gar nicht wissen wo ich mit QTGMC in einem Durchgang liege.

    Ich habe den Ablauf hier aber trotzdem einmal geschildert da es ja hier im Forum einige schlaue Füchse gibt die das ganze evtl.
    doch zum laufen kriegen und evtl. auch etwas beschleunigen können.

    Sollte dem nicht so sein wäre meine Idee das Video vor Staxrip mit VirtualDub erstmal zwischenzuspeichern.
    Was wäre da eine optimale Lösung? RemoveNoiseMC verlangt YV12 und stelle ich VirtualDub auf "Fast Recompress" mit dem HuffYUV-Codec
    weiß ich nicht was ich am Ende habe. Die Info von Avisynth sagt mir YUV und MediaInfo sagt RGB.
    Komischerweise wird mir da auch PAL angezeigt was eigentlich nicht sein kann.

    Nachtrag: Ich verwende vom Huff-Codec die Version 2.1.1. An den Codec-Einstellungen habe ich noch nichts verändert.

    Einmal editiert, zuletzt von Nibelung (18. September 2012 um 22:46)

  • Zitat

    Was wäre da eine optimale Lösung? RemoveNoiseMC verlangt YV12 und stelle ich VirtualDub auf "Fast Recompress" mit dem HuffYUV-Codec


    Statt Huffyuv setze ich nur noch UtVideo ein,4:2:2 oder auch 4:2:0 je nach Quellmaterial.
    Huffyuv wie auch Lagarith produzieren in längeren Captures zwischendurch einzelne lustig verpixelte Einzelframes.

    Mein QTGMC-Script ist etwas "magerer" da ich nur wenig filtere.

    Ersetze mal RemoveGrainSSE3.dll undRepairSSE3.dll mit der Version "2"
    Berichtige auch

    Zitat

    deineterlacing

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Du öffnest ein AviSynth-Skript mit AviSource? Wer weiß, ob das wirklich sinnvoll ist, ein anderes Skript zu öffnen, statt noch mal das eigentliche Video direkt, aber wenn, dann geht das direkter (ohne Umweg über VfW-Codecs) mit Import() statt AviSource(). Vielleicht erspart man sich damit auch mehrfaches Hin-und-her-Konvertieren zwischen den Farbraumvarianten.

  • Zitat

    Statt Huffyuv setze ich nur noch UtVideo ein,4:2:2 oder auch 4:2:0 je nach Quellmaterial.

    Das hört sich interessant an. Bei 4:2:2 wäre doch ein Pixelweises Croppen an den Seiten möglich o.?

    Zitat

    Mein QTGMC-Script ist etwas "magerer" da ich nur wenig filtere.

    Ich bin da für alle Vorschläge offen. :)

    Zitat

    Ersetze mal RemoveGrainSSE3.dll undRepairSSE3.dll mit der Version "2"

    Ich habe es noch nicht gemacht aber könntest Du mir sagen welche Änderungen das mit sich bringt?

    Zitat

    Berichtige auch
    deineterlacing

    Okay :)

    LigH, Du meinst so? Die Variante ist allerdings noch ohne Multi-Core -Unterstützung.

    Das habe ich versucht, aber irgendwie scheint sich da etwas nicht zu vertragen. Ich bekomme jedenfalls eine Fehlermeldung von Avisynth.
    Wenn ich QTGMC in einem eigenen Script arbeiten lasse gibt es seltsamerweise keine Probleme.
    Das "ConvertToYV12" muß leider sein da RemoveNoiseMC in diesem Farbraum arbeitet.

    2 Mal editiert, zuletzt von Nibelung (18. September 2012 um 22:55)

  • Bei 4:2:2 wäre doch ein Pixelweises Croppen an den Seiten möglich o.?

    Nein, da hat man zwar jede Zeile einzeln, aber je zwei Pixel nebeneinander teilen sich die Farbigkeit.

    Bestimmte Filter arbeiten auch nur dann korrekt, wenn die Breite ein Vielfaches von 4 wird.

    Ich habe es noch nicht gemacht aber könntest Du mir sagen welche Änderungen das mit sich bringt?

    Die SSE3-Version ist bekanntermaßen fehlerhaft, bis zu Abstürzen.

    Ich bekomme jedenfalls eine Fehlermeldung von Avisynth.

    Ach so ... diese Fehlermeldung, ja. Welche sonst? ... Nein, welche überhaupt?

  • Wenn ich mir das Script so ansehe wird mir doch ein bißchen schlecht. QTGMC---RemoveNoiseMC---LSF und dann noch Seesaw geladen. Verstehe die Zusammenstellung nicht so richtig.
    QTGMC kann doch schon alles! Deinterlacen,Entrauschen.Und bei "VerySlow" hast Du doch schon einer der höchsten Parameter überhaupt. Nehme nur QTGMC und wenn Dir die Schärfe nicht ausreichen sollte,im nachhinein noch LSF. Aber nicht zusammen in einen Script.Stürzt definitiv ab und gerade dann,wenn das Video kurz vor der Vollendung steht.

  • Zitat

    Ersetze mal RemoveGrainSSE3.dll undRepairSSE3.dll mit der Version "2"

    Zitat

    von Nibelung
    Ich habe es noch nicht gemacht aber könntest Du mir sagen welche Änderungen das mit sich bringt?


    Wegen div.Fehlermeldungen bin ich schon früher umgestiegen auf dei SSE2.dll`s
    Hat erst kürzlich User Didée auch wieder mal erwähnt.

    Selber habe ich nur die benötigten Plugins für QTGMC und für Normwandluneg im originalen Plugins-Ordner.
    Neue Plugins kommen in sep.Unterordner.
    Im ersten Fall rufe ich die benötigten dlls nicht mehr im Script auf,im Zweiten muss ichs aber.

    Mit RemoveNoiseMC arbeite ich früher mit Avisynth 2.57.Seit Neuaufsetzung aller PCs hier ist hier sowohl unter W7 und XP nur noch Avisynth 2.6,32 Bit in Aktion.Ich weiss aber noch dass ich wenn RemoveNoiseMC von Heini011 eingesetzt wurde ich immer die Abarbeitung in 2 Scripts gemacht hatte.
    1.Schritt war immer bobben.
    Es kommt auch draufan aus welchem der 3 Pakete Du die SSE2.dlls rausnimmst.
    Darum vergleiche ich immer erst
    Screen im Beitrag 21 von
    http://forum.gleitz.info/showthread.php…e-und-DVD/page3

    Irgendwo habe ich aber noch das damalige Script,muss aber erst im Archiv graben.
    ----------------------------

    Zitat

    Wenn ich mir das Script so ansehe wird mir doch ein bißchen schlecht


    Muss es aber nicht.Früher gabs nichts besseres als RemoveNoiseMC...schade dass Du nicht schon früher also viel früher mit Avisynth gearbeitet hast...da gabs noch Convolution3D......
    Du glaubst es nicht...das wurde sogar hier hochgelobt.Obwohl wenn ich dann das Bild direkt am Kontr.Moni über die DV-Storm [Y/C] ansah,mir fast schlecht wurde obwohl ich doch eigentlich sehr viel ertragen kann.
    [Hab Deinen Beitrag erst jetzt gelesen,war auf der Suche nach dem damaligen Script.]

    Zitat

    Nehme nur QTGMC und wenn Dir die Schärfe nicht ausreichen sollte,


    Das kann er aber auch nachträglich im Videobearbeitungstool noch machen,bei der Endkontrolle,aber bitte nicht am PC Moni.die "Schärfe" beurteilen.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    3 Mal editiert, zuletzt von Goldwingfahrer (19. September 2012 um 00:06)

  • Hallo Leute,

    vielen Dank erstmal für Eure Antworten.

    Zitat

    von PROPAGANDA
    QTGMC kann doch schon alles!

    Ich muß zugeben das ich bisher bei der beiligenden html-Datei nur davon ausging, es wäre ein Verweiß auf die HP wo man QTGMC herunterladen kann.
    Ich habe mir die Anleitung jetzt einmal angeschaut und wurde von der Fülle der Funktionen förmlich erschlagen.
    Ich frage mich ob es für einen Laien wie mich sinnvoll ist die QTGMC-Filter anzuwenden. Wer weiß was ich da am Ende alles wegfiltere.

    Ansonsten habe ich den UTVideo-Codec einmal installiert - prima Sache!
    Die beiden SSE2.dlls habe ich auch ersetzt, allerdings ohne Veränderung.
    Sowohl RemoveNoiseMC als auch QTGMC laufen einzeln sauber durch. Haue ich aber beide in ein avs kommt folgende Meldung:

    mt_makediff: wrong colorspace, only YV12 and I420 allowed
    (QTGMC-3.3.2.avsi, Line 776)
    (QTGMC-3.3.2.avsi, Line 386)

    D:\...\...avs, Line 26

    Die Meldung erhalte ich sowohl in VDub als auch in StaxRip.
    Hier nochmal das veränderte Script. In Line 26 wird QTGMC aufgerufen.

    Ich habe sonst keine weiteren dll´s in den Ordnern. Eben nur die, die für die beiden Filterpakete benötigt werden.

    Goldwingfahrer:

    Mal abgesehen von Deinem verwendeten Mehrfachcapturen, würdest Du RemoveNoiseMC heute immernoch verwenden o. gibt es da schon bessere Alternativen?
    Zu den Filtern von QTGMC ist im Netz leider kaum etwas zu finden. Anscheinend nutzen die Leute nur den Deinterlacer.

  • Zitat

    würdest Du RemoveNoiseMC heute immernoch verwenden


    Kann ich Dir im Moment nicht beantworten,hab nämlich festgestellt:nehme ich stur nur den zum jeweiligen Band passenden Zuspieler ausm Regal dann ist das Ausgabebild schon mal um Längen besser als wenn ich irgendeinen Zuspieler einsetze.

    Hier habe ich mal das Script wie ichs damals abgespeichert hatte.

    ###Vorher aber die Film-VHS in interlaced aufgenommen und mit TDeint bearbeitet.

    function mq_filter(clip c)
    {
    c=c.RemoveNoiseMC(rdlimit=11,rgrain=2,denoise=8)
    c=c.deen("a3d",rad=1,thrY=2,thrUV=3,min=0.5,tthY=1,tthUV=2,scd=4)
    c=c.LimitedSharpenFaster(Smode=4,strength=18,overshoot=1,wide=false,ss_x=1.3,ss_y=1.3)
    return c
    }

    #SetMemoryMax(2048)
    Import("C:\Avisynth 2.57\Analog\RemoveNoiseMC.avs")
    Import("C:\Avisynth 2.57\Analog\LimitedSharpenFaster\LimitedSharpenFaster.avs")
    Import("C:\Avisynth 2.57\Plugins\Seesaw.avs")

    LoadPlugin("C:\Avisynth 2.57\Analog\mvtools_20071112\Mvtools.dll")
    LoadPlugin("C:\Avisynth 2.57\Analog\deblock12\DeBlock.dll")
    LoadPlugin("C:\Avisynth 2.57\Plugins\VagueDenoiser.dll")
    LoadPlugin("C:\Avisynth 2.57\Analog\RemoveGrain_1\RemoveGrainSSE2.dll")
    LoadPlugin("C:\Avisynth 2.57\Analog\fluxsmooth_25_20040729\FluxSmooth.dll")
    LoadPlugin("C:\Avisynth 2.57\Analog\RemoveDirt\RemoveDirtSSE2.dll")
    LoadPlugin("C:\Avisynth 2.57\Analog\RemoveGrain_1\RepairSSE2.dll")
    LoadPlugin("C:\Avisynth 2.57\Analog\MaskTools_v1.5.8\MaskTools.dll")
    LoadPlugin("C:\Avisynth 2.57\Analog\masktools_v2.0a30\mt_masktools.dll")
    LoadPlugin("C:\Avisynth 2.57\Analog\LimitedSupport\LimitedSupport_09Jan06B.dll")

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Dein Script ist total überladen. Und niemals croppen vor dem Deinterlacen.
    Das reicht völlig........


    Am Ende kommen 50p bei heraus. Du kannst sie durch:

    Zitat


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


    wieder in interlaced Material zurück bringen. Zu Not noch hinter "Crop" einen "Resizer" und zB die Parameter 720x576 richtig ansetzen.

    2 Mal editiert, zuletzt von Propaganda (20. September 2012 um 20:06)

  • Zitat

    Dein Script ist total überladen.

    Hab ja gesagt dass das ein Ausschnitt von einem alten "Script ist zu RemoveNoiseMC...exakt aus dem Jahr 2007/2008.
    Im Prinzip ist das nur ein "Auszug" welche "dlls" damals eingesetzt wurden,nicht mehr und nicht weniger.

    Zitat

    Und niemals croppen vor dem Deinterlacen.


    wem sagst Du das........
    Was ich oben aufgelistet habe ist der ZWEITE Script...im Ersten wurde mit TDeint gewerkelt.
    Steht ja in der ersten Zeile hinter den 3 Rauten....Das "Ausgeraute" in der ersten Zeile soll nur als Gedächtnisstütze für später sein..........und wie man sieht...weiss man das nun auch noch nach Jahren was im ersten Script gemacht wurde......

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    Einmal editiert, zuletzt von Goldwingfahrer (20. September 2012 um 22:01)

  • Vielen Dank Euch beiden für die Scripts. Ich habe mich nun noch einmal etwas genauer mit dem Thema beschäftigt.

    PROPAGANDA:

    Du hattest Recht! Ich hatte wohl vor Freude am ausgegebenen File die Quelle aus den Augen verloren.
    Ich habe die Videos über einen "splitted Screen" verglichen und mußte feststellen das durch QTGMC "very slow" schon wahnsinnig viel gefiltert wird.
    Das macht die Weiterverarbeitung mit RemoveNoiseMC natürlich überflüssig. Außerdem erscheint das Video leicht plastisch.

    Lade ich allerdings nur die dll´s wie Du erhalte ich die Meldung

    "there is no function interleaved2planar".

    Lade ich alle dll´s gibt es keine Probleme.

    Goldwingfahrer:

    Ich habe hier zwar nicht ganz soviele Recorder wie Du, aber schon bei meinen dreien kann ich zum Teil sehr große Unterschiede beim abspielen feststellen.
    Es ist wirklich unglaublich wie sehr man durch den richtigen Abspieler allein schon das Rauschen vermindern kann.

  • Ich glaube das lag an der RemoveGrain Version. Du mußt die von der 0.9 Version nehmen.Sorry kann das zur Zeit nicht selber testen.

    Edit: Nein daran lag es nicht mit den RemoveGrain Versionen. Beim "Very Slow" Preset muß noch die FFT3DFilter.dll mit rein.


    Nochmal Edit:
    Das liegt an Deiner Quelle.

    Zitat

    avisource("d:\capture\test.avi",pixel_type="YUY2").assumetff


    Hinter AVISource muß "ConvertToYV12(interlaced=true)" wieder rein.

    4 Mal editiert, zuletzt von Propaganda (23. September 2012 um 11:39)

  • Zitat

    Beim "Very Slow" Preset muß noch die FFT3DFilter.dll mit rein.

    hast Du eine neuere Version als diese hier ?
    [Blockierte Grafik: http://imageshack.us/a/img585/8533/plugins20120923124439.png]

    Zudem gehören auch noch die Beiden in "system32/SysWow Verzeichnis.
    [Blockierte Grafik: http://imageshack.us/a/img43/6669/2teiltosyswow64odersyst.png]

    Auch hier weiss ich nicht obs ev.schon neuere Versionen gibt.
    Mühsam.....

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Zitat

    Hinter AVISource muß "ConvertToYV12(interlaced=true)" wieder rein.

    Damit habe ich es jetzt nicht probiert. Möchte man aber YUY2 beibehalten benötigt man zusätzlich noch die SSE2Tools.dll.

  • +

    http://www.hardwareluxx.de/community/f11/…ml#post15378839

    Code
    SetMTmode(5,4)    SetMemoryMax(1024)    LoadPlugin("DGDecode_x64.dll")    LoadPlugin("DGDecodeNV_x64.dll")    LoadCPlugin("ffms2_x64.dll")#   mpeg2source("1080p.d2v")    DGsource("1080p.dgi")#   FFVideoSource("1080p.mpg")    setmtmode(2)    bicubicresize(1280,1080)    bicubicresize(1280,720)    return(last)


    Mir ist gerade bei Propaganda und Didee´s / AviSynth Scripten etwas aufgefallen:
    SetMemoryMax + SetMTmode kommen bei euch an erster Stelle im Script vor!
    Bei meinem Script ( für Interlaced MPEG2 Material ), kommt SetMemoryMax + SetMTmode erst nach dem Laden der Plugin´s:

    Mache mir große Sorgen, das an meinem Script etwas Falsch laufen könnte???
    Mein Script funktioniert zwar, aber Vielleicht kann ja mal jemand kurz drüber schauen und mir ein Positives zeichen zurück geben?

  • Keine Panik.

    Alles, was nur Plugins oder Funktionen aus AVSI-Importskripten lädt, macht AviSynth erst mal nur mit Funktionen bekannt, erzeugt aber noch keine Clips, die Frame-Speicher benötigen.

    Auch danach kommen die Set-Funktionen noch "rechtzeitig".

Jetzt mitmachen!

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