SD zu HD hochskalieren?

  • Welches Format soll es denn ganz am Ende werden?

    Die modernen Videoformate sollte man nicht im veralteten AVI-Kontainer speichern, selbst wenn man es könnte. Wenn du z.B. als Videoformat MPEG4-AVC (H.264) bekommen willst, wirst du VirtualDub höchstens noch zur Vorschau des Skriptes verwenden (was man auch mit AvsPmod tun könnte), aber um das Skript dann zum endgültigen Konvertieren an den x264-Encoder zu schicken, hat VirtualDub eigentlich nichts mehr zu suchen.

    Der x264-Encoder ist ein Kommandozeilenprogramm (CLI), welches auch aviSynth-Skripte als Videoquelle verwenden kann. Wer den Umgang mit der Eingabeaufforderung nicht so gewohnt ist, der verwendet "Konvertier"-Benutzeroberflächen wie (StaxRip, MeGUI o.ä.), um sich das AviSynth-Skript hübsch grafisch an den Encoder schicken zu lassen und später noch die Programme aufzurufen, die das encodierte Video dann mit einer Tonspur in einen gemeinsamen Kontainer verpacken (multiplexen), z.B. mit AAC-Ton gemeinsam in eine MP4-Datei. VirtualDub taucht dabei nicht mehr auf, das kann so was nicht.

  • Es soll entweder 1080p50 oder 720p50 werden.
    Dies ist auch das Format, das mein neuer Camcorder produziert.
    Und dann im mp4-Container mit Inhalt wie Du vorschlägst, also H.264 und AAC-Ton.
    Aber ich kann ja auch, wie bereits vorgeschlagen, das Scipt in Premiere importieren und als h.264 exportieren,
    habs nur noch nicht ausprobiert.
    Bleibt nur noch die Sache mit dem Seitenverhältnis...

  • Premiere? Aua, nein, bloß nicht! Wer weiß, ob Premiere überhaupt mit AviSynth-Skripten umgehen kann; aber es wird das Video sicher erst mal in RGB24 umwandeln, obwohl es doch extra für x264 schon in YV12 vorliegt.

    Was das Seitenverhältnis angeht:

    a) Wenn deine DV-Cam 16:9-Video auf 720x576 staucht, dann

    Code
    nnedi3_rpow2(rfactor=2, cshift="spline36resize", fwidth=[B][COLOR='#006400']1280[/COLOR][/B], fheight=720)

    b) Wenn deine DV-Cam 4:3-Video auf 720x576 staucht, dann

    Code
    nnedi3_rpow2(rfactor=2, cshift="spline36resize", fwidth=[B][COLOR='#B22222']960[/COLOR][/B], fheight=720)
    [B][COLOR='#0000CD']AddBorders(160, 0, 160, 0)[/COLOR][/B]

    Und dann bekommt x264 dieses AviSynth-Skript zum Konvertieren, wenn es in der Vorschau – in VirtualDub[Mod] oder AvsPmod – richtig aussieht.

    Wenn ich die MeGUI dafür verwende, dann würde ich zuerst die Tonspur nach AAC (M4A) konvertieren (Job: Clear; Audio: Queue; Job: Start), deren Größe im Bitrate Calculator von der gewünschten Zielgröße abziehen, das bearbeitete AviSynth-Skript als Video-Quelle öffnen, das Video mit x264 als MP4 (ohne Ton) konvertieren (Job: Clear; Audio: Queue; Job: Start), und dann im MP4-Multiplexer das Nur-Video-MP4 und das AAC-M4A zu einer gemeinsamen MP4 multiplexen lassen (Job: Clear; MP4-Multiplexer: Queue; Job: Start).

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten

    3 Mal editiert, zuletzt von LigH (17. Juli 2013 um 14:45)

  • LigH
    ...wer verwirrt jetzt noch mehr !!

    Stichwort nnedi3...Win Merge erkennt keinen Unterschied zwischen den beiden Versionen.

    Zitat

    Aber wie berechne/exportiere ich denn in VirtualDub mein Video?
    Einfach "Save as .avi"?


    Open Video File...hier das "avs" auswählen.
    Bei Video auf Direct Stream Copy stellen.......F7 und Ziel,wenn möglich auf anderer HDD auswählen.
    Das Ergebnis liegt dann als YUV oder als YV12 in einem AVI-Kontainer.

    Rest gelöscht.LigH war schneller.

    Aber der Reihe nach......
    Ich sehe kein Script ?
    -------------

    Nachtrag:

    LigH...der TEncoder kann doch auch Avisynthscripte abarbeiten.
    Für einen Einsteiger sicher etwas einfacher als mit Hybrid.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    2 Mal editiert, zuletzt von Goldwingfahrer (17. Juli 2013 um 15:08)

  • Bei Video auf Direct Stream Copy stellen.......F7 und Ziel,wenn möglich auf anderer HDD auswählen.
    Das Ergebnis liegt dann als YUV oder als YV12 in einem AVI-Kontainer.

    Erzeugt Giga- bis Terabytes ohne Mehrwert.

    Der Zweck eines Frameservers wie AviSynth ist ja gerade, keinen Plattenplatz zu verschwenden, wenn das endgültige Ergebnis doch aus einem Encoder wie x264 kommen soll.

    Aber in einem Punkt gebe ich Goldwingfahrer völlig recht:

    Wie sieht denn nun dein endgültiges Skript aus?

  • Zitat

    .........wenn das endgültige Ergebnis doch aus einem Encoder wie x264 kommen soll.


    das war aber am Anfang nicht klar erwähnt worden.
    Aber egal,die meisten wünschen ihr Gecapturtes nun mal in uncompr.oder in Lagarith oder UtVideo.
    Was sie dann damit machen ist mir eigentlich egal.

    Der TEncoder nimmt "avs"

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    Einmal editiert, zuletzt von Goldwingfahrer (17. Juli 2013 um 15:31)

  • Hier mein Script:

    AVISource("test.avi")
    AssumeBFF()
    nnedi3_rpow2(rfactor=2, cshift="spline36resize", fwidth=1280, fheight=720)

    Bin gerade dabei, es mit meGUI zu exportieren,
    sorry kann nicht allen Hinweisen nachgehen.

    Vielen Dank mal an alle !!!

    Einmal editiert, zuletzt von ArminPro (17. Juli 2013 um 16:43)

  • Das reicht nicht,du musst schon angeben wo und wie das File heisst.
    Beispiel:
    AVISource("F:\Untitled_02.avi",pixel_type="YUY2")
    blaues natürlich anpassen.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Solange sich das AviSynth-Skript im selben Verzeichnis befindet wie die zu ladende AVI-Datei, klappt es oft auch ohne Verwendung eines kanonischen Dateinamens; es kann allerdings schiefgehen, wenn die Ausführung eines Programmes in einem bestimmten Verzeichnis erzwungen wird, das nicht das Verzeichnis mit dem Skript ist.

  • So ist es bei mir auch, d.h. Skript und und avi-Datei liegen im selben Ordner.
    Hat jetzt mit auch soweit funktioniert. Also Ausgabe mit meGUI, das Ergebnis ist deinterlaced und auch das Seitenverhältnis stimmt. Super!
    Video liegt im mp4-Container und Audio als AC3 vor. Nur das Muxen ist in meGUI mit Error abgebrochen.
    Auch der TSMuxer hat es nicht geschafft, hat irgendwas beim importieren des Videostreams gemeckert.
    Weiter bin ich gestern nicht gekommen...
    Was bringt pixel_type="YUY2" im Skript?

  • Es bittet den VfW-Codec, der das DV-Video im AVI decodiert, darum, dieses Ergebnisformat zu liefern, wenn er das kann. Für die Verarbeitung von Interlaced-Material ist das von Vorteil, weil jede einzelne Bildzeile ihre eigenen Farbigkeiten hat; bei YV12 dagegen muss darauf geachtet werden, dass sich nicht die falschen beiden Zeilen Farbigkeiten teilen. Allerdings brauchen viele Filter und am Ende auch der x264-Encoder das YV12-Format. Es muss also zwischendurch sinnvoll von YUY2 (Chroma Subsampling YUV 4:2:2) nach YV12 (Chroma Subsampling YUV 4:2:0) konvertiert werden,

    a) wenn das Material noch interlaced ist: ConvertToYV12(interlaced=true)

    b) wenn das Material nicht interlaced ist: ConvertToYV12(interlaced=false) — hier also nach dem Deinterlacen; für optimale Qualität, wenn nichts dagegen spricht, möglichst spät im Skript.

  • Zitat

    Was bringt pixel_type="YUY2" im Skript?

    Avisynth hat ja eine interne Farbraumzuordnung und die ist nun mal YV12 .
    Ist aber alles schon früher dolumentiert worden.
    Beitrag 217
    http://www.movie2digital.at/index.php?page…d&postID=259577

    Das was Du uns hier gezeigt hast...diese 3 Zeilen ist nur "Text" und kein Script.

    Es fehlen,da Du ja die MT Version von Avisynth installiert hast:
    SetMemoryMax(512), SetMTmode(3,0),Quelle und dann eine Zeile ev.mit Crop...dann SetMTmode(2)....TempGaussMC_beta3...................

    Avisynth installiert man ins Root C: oder wenn man will auch unter Programme.
    Das erstere hat den Vorteil wenn man mehrere PCs mit unterschiedlichen Betr.Systemen hat dass man die komplette "LoadPlugin...." und auch die "Import`s"... nicht immer neu umschreiben muss.

    Auch fehlt als letzte Zeile ...return(last)

    Ist so wie in der Fahrschule.... sich genau an die Anweisungen des Fahrlehrers halten...dann klappts mit dem Schein.
    Weitere Erfahrungen kommen dann später.

    Die Erklärung oben von User LigH mag stimmen,hat aber nichts mit sauberer Install.von Avisynth zu tun.....also Beispiel Fahrschule= nicht bestanden.
    Er selber hat ja jahrelang immer gepredigt dass man das immer sauber im Script auflisten sollte.

    so haben wirs mal gelernt,saubere Aufstellung wie im Beispiel im Beitrag 14 von
    http://forum.gleitz.info/showthread.php…7925#post327925

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • SetMemoryMax(512), .....
    -> kannst Du mir den Link für die Anweisungen des Fahrlehrers geben?

    - Hab Avisynth im Root C: installiert.
    - Dachte, wenn die Plugins im Plugin-Ordner liegen, dass sie automatisch geladen werden. Dann braucht man LoadPlugin nicht, oder?

  • SetMemoryMax(512), .....
    -> kannst Du mir den Link für die Anweisungen des Fahrlehrers geben?


    Avisynth kommt mit sehr guter Dokumentation. SetMemoryMax(512) ist der Standardwert, muss also nicht angegeben werden. Ausserdem hängt es stark vom Skript, Arbeitsspeicher, etc. ab, welcher Wert für SetMemoryMax() sinnvoll ist.

    Dachte, wenn die Plugins im Plugin-Ordner liegen, dass sie automatisch geladen werden. Dann braucht man LoadPlugin nicht, oder?


    Korrekt.

  • Zitat

    SetMemoryMax(512), .....

    "512" ist nur ein Beispiel,in der Regel passe ich dies dann selber an,gehe aber nie zu hoch raus.
    Beitrag 8
    http://forum.gleitz.info/showthread.php…mpGaussMC_beta3
    oder hier bei...."Multi-Threaded Usage" beschrieben.
    http://avisynth.org/mediawiki/QTGMC

    Zitat

    Dachte, wenn die Plugins im Plugin-Ordner liegen, dass sie automatisch geladen werden. Dann braucht man LoadPlugin nicht, oder?


    Ja,sie werden automatisch geladen.
    Mit der Zeit kommen da aber immer mehr neue Plugins dazu die sich dann unter U.einander ins Gehege kommen,dann ists Pflicht diese Plugins in separate Unterordner reinzulegen und sie dann,einzeln aufzurufen,wie zum Bsp. hier im Screen zu RemoveNoiseMC.[aus einer alten Avisynthversion]
    http://abload.de/img/schritt_2_nach-tdeintynsg3.jpg


    http://abload.de/img/schritt_2_nach-tdeintynsg3.jpg

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • ein bisschen besser?

    Import("C:\AviSynth 2.6 MT\plugins\QTGMC\QTGMC.avsi")
    Import("C:\AviSynth 2.6 MT\plugins\LSFmod\LSFmod.v1.9.avsi")
    Import("C:\AviSynth 2.6 MT\plugins\GrainFactory3\GrainFactory3.avsi")


    # Read source file
    AVISource("test.avi")

    # Damit die Feldreihenfolge stimmt
    AssumeBFF()

    # Deinterlacen
    QTGMC(Preset="Slower")

    # Add this line to keep original frame rate, leave it out for smoother doubled frame rate
    #SelectEven()

    # Upscalen nach hdst
    # Wenn deine DV-Cam 4:3-Video auf 720x576 staucht, dann
    # nnedi3_rpow2(rfactor=2, cshift="spline36resize", fwidth=960, fheight=720, qual=2)
    # AddBorders(160, 0, 160, 0)

    # Upscalen nach LigH
    # Wenn deine DV-Cam 16:9-Video auf 720x576 staucht, dann
    nnedi3_rpow2(rfactor=2, cshift="spline36resize", fwidth=1280, fheight=720)

    # and let's sharpen a bit
    MT("LSFMod(Smode=5, strength=70)", 6)
    # and finally, add some nice HD grain
    MT("GrainFactory3(g1str=4, g2str=6, g3str=8)", 6)

    ... aber die MT-Funktion kennt er nicht.

  • Plugin Liste siehst Du ja hier,bei "Full Plugin List"
    Im Link etwas nach unten scrollen.
    http://forum.doom9.org/showthread.php?t=156028

    Statt QTGMC nehme ich die Version ohne "Q"


    SetMemoryMax(768)

    SetMTmode(3,0)
    AVISource("F:\Untitled_02.avi",pixel_type="YUY2")
    AssumeBFF()

    ConvertToYV12(interlaced=true)


    SetMTmode(2)

    TempGaussMC_beta3(2,1,3,0,0,0,Edimode="NNEDI3",nthreads=8,truemotion=true,sharpness=1.75,Sbb=2,SLrad=1,SVthin=0.75,Sovs=2)


    #a) Wenn DV-Cam 16:9-Video auf 720x576 staucht, dann Code:
    nnedi3_rpow2(rfactor=2, cshift="spline36resize", fwidth=1280, fheight=720)

    #b) Wenn DV-Cam 4:3-Video auf 720x576 staucht, dann Code
    #nnedi3_rpow2(rfactor=2, cshift="spline36resize", fwidth=960, fheight=720)
    #AddBorders(160, 0, 160, 0)

    ConvertToYUY2()

    return(last)

    je nach Quellmaterial,das Blaue oder das Grüne einsetzen.
    Eine # [Raute] am Zeilenanfang heisst für Avisynth......diese Zeile wird bei der Abarbeitung nicht berücksichtigt.

    Ist nur ein Beispiel,da gibts noch mehrere Scripts.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Die Funktion MT() existiert nicht mehr, seit SetMTMode() die Abschnitte für Multithreading sinnvoller festlegt. Im ersten Aufruf wird die maximale Anzahl von Threads festgelegt: SetMTMode(3,0) = Modus 3 für Quellfilter, Anzahl 0 = Automatik, so viele wie Rechenkerne; es kann sinnvoll sein, weniger zu verwenden, weil mit der Thread-Anzahl auch der RAM-Bedarf wächst. Danach darf die Anzahl nicht mehr angegeben werden, nur noch der Modus.

    Vorsicht bei Plugins, die selber Multithreading unterstützen: Wenn die nach SetMTMode(2) folgend ausgeführt werden, kann sich die Anzahl der Threads quadrieren, das "verstopft" die Ausführung! NNEDI3 wäre so ein Kandidat, dessen Funktionen haben selber einen threads-Parameter und verwenden automatisch so viele Threads wie Rechenkerne. SetMTMode(2) sollte erst danach folgen, oder wenn vorher schon etwas mit Multithreading beschleunigt werden soll, dann vor NNEDI3-Funktionen noch mal SetMTMode(1) und danach wieder SetMTMode(2).

    TempGaussMC und QTGMC haben (abgesehen von leicht verschiedener Arbeitsweise auch) deutlich unterschiedliche Parameter, bleib also bitte bei dem, was du verwendest, nicht mischen! QTGMC verwendet übrigens intern selber auch noch eine EDI-Funktion, in den meisten Presets also NNEDI3, wie man im Quelltext im Abschnitt "Preset groups" findet. Standard für den QTGMC-Parameter "EdiThreads" ist 0; wer also QTGMC mit SetMTMode beschleunigt, sollte diesen Wert eventuell begrenzen.

  • LigH,in Deiner Antwort,Beitrag 7 aus
    http://forum.gleitz.info/showthread.php…o+Einem!+das%3F
    hast Du aber
    das Script im Beitrag "3" von User H264 weder kritisiert noch bemängelt !!


    Auch User SEt hat hier noch nicht geändert:
    http://forum.doom9.org/showthread.php?t=148782

    In der Regel scaliere ich kein Material,hab das Script nur etwas angepasst und natürlich meine zusätzlichen Zeilen rausgenommen.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

Jetzt mitmachen!

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