Sagaras Scriptmaker Einstellungen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Sagaras Scriptmaker Einstellungen

    Anzeige
    Hallo leute,

    wollte mal wissen ob mein SSM so richtig eingestellt ist oder ob es da noch was zu verbessern gibt (was ich mal denke^^), da ich mich zwar mit SSM auseinander gesetzt habe, aber nicht sicher bin ob das alles so seine richtigkeit hat. Mein System ist in meinem Profil Aktualisiert worden falls das benötigt wird. Zur Aufnahme benutze ich MSI Afterburner, Einstellungen wie aus dem "MSI Afterburner Tutorial".

    Hier mal das Script:

    Spoiler anzeigen

    ### SagaraS Scriptmaker - Version 6.1 ###


    ### Lade Plugins und setze die globalen Variablen ###
    LoadPlugin("C:\Program Files (x86)\SagaraS Scriptmaker\Plugins\resamplehq.dll")
    Global breite = 2048
    Global hoehe = 1152
    Global AR = 0


    ### Lade Videoquellen ###
    SetMTMode(3,2)


    ### Filter Verarbeitungszone ###


    (IsYUY2() == true) ? ConvertToYV16() : Last


    ### Funktion für Video-Laderoutine ###
    Function AVIload (String file, int loading, int cl, int co, int cr, int cu, string pixtype, string afps, int fpsn, int fpsd) {
    pixtype2 = (pixtype == "YUY2") ? "YUY2" : (pixtype == "RGB24") ? "RGB24" : (pixtype == "Y8") ? "Y8" : (pixtype == "YV12") ? "YUV420P8" : (pixtype == "YV24") ? "YUV444P8" : pixtype
    (loading == 1) ? FFIndex(file) : nop()
    clip0 = (loading == 3) ? (pixtype == "Auto") ? LWLibavVideoSource(file) : LWLibavVideoSource(file, format = pixtype2) : (loading == 2) ? Import(file).KillAudio() : (loading == 1) ? (pixtype == "Auto") ? FFVideoSource(file, threads=1) : FFVideoSource(file, threads=1, colorspace=pixtype) : (pixtype == "Auto") ? AVISource(file, false).KillAudio() : AVISource(file, false, pixel_type=pixtype).KillAudio()
    clip1 = clip0.AutoFPS(afps, fpsn, fpsd).Cropping(cl, co, cr, cu)
    Return (clip1.width == breite && clip1.height == hoehe) ? clip1 : Clip1.Resize()
    }


    Function AutoFPS (Clip clip0, string afps, int fpsn, int fpsd) {
    rate1 = (afps == "Auto") ? (Round(Float(clip0.framerate * 1000)) / 1000) / 2 : nop()
    rate2 = (afps == "Auto") ? Round(clip0.framerate) / 2 : nop()
    rate = (afps == "Auto") ? (rate1 == rate2) ? 1 : 1001 : (afps == "Igno.") ? clip0.frameratedenominator : fpsd
    ratefaktor = (afps == "Auto") ? (rate == 1001) ? 1000 : 1 : nop()
    clip0 = (afps == "Auto") ? (rate == 1001) ? clip0.AssumeFPS(Round(clip0.Framerate) * 1000, rate) : clip0.AssumeFPS(round(clip0.framerate), rate) : (afps == "Igno.") ? clip0.AssumeFPS(clip0.frameratenumerator, rate) : clip0.AssumeFPS(fpsn, rate)
    Return clip0
    }


    Function Cropping (Clip clip0, int cl, int co, int cr, int cu) {
    clip0 = (clip0.IsRGB32() == True) ? clip0.ConvertToRGB24() : clip0
    Return (cl != 0 || co != 0 || cr != 0 || cu != 0) ? clip0.Crop(cl, co, cr, cu) : clip0
    }


    Function SameColorAs (clip clip0, clip clip1) {
    wert1 = (clip0.IsRGB32() == true) ? 0 : (clip0.IsRGB24() == true) ? 1 : (clip0.IsYV24() == true) ? 2 : (clip0.IsYUY2() == true) ? 3 : (clip0.IsYV16() == true) ? 4 : (clip0.IsYV12 == true) ? 5 : (clip0.IsYV411() == true) ? 6 : 7
    wert2 = (clip1.IsRGB32() == true) ? 0 : (clip1.IsRGB24() == true) ? 1 : (clip1.IsYV24() == true) ? 2 : (clip1.IsYUY2() == true) ? 3 : (clip1.IsYV16() == true) ? 4 : (clip1.IsYV12 == true) ? 5 : (clip1.IsYV411() == true) ? 6 : 7
    return (wert1 == wert2) ? clip0 : (wert2 == 0) ? clip0.ConvertToRGB32() : (wert2 == 1) ? clip0.ConvertToRGB24() : (wert2 == 2) ? clip0.ConvertToYV24() : (wert2 == 3) ? clip0.ConvertToYUY2() : (wert2 == 4) ? clip0.ConvertToYV16() : (wert2 == 5) ? clip0.ConvertToYV12() : (wert2 == 6) ? clip0.ConvertToYV411() : clip0.ConvertToY8()
    }


    Function Resize (Clip clip1) {
    clip3 = clip1
    clip1 = (AR == 1) ? ((float(Clip1.height * breite) / clip1.width) / 2 == round((float(Clip1.height * breite) / clip1.width) / 2)) ? ((float(Clip1.width * hoehe) / clip1.height) / 2 == round((float(Clip1.width * hoehe) / clip1.height) / 2)) ? clip1 : clip1.ConvertToRGB24() : clip1.ConvertToRGB24() : clip1
    clip1 = (AR == 1) ? (((clip1.width * hoehe) / clip1.height > breite) ? Clip1.ResampleHQ(breite, round(float(Clip1.height * breite) / clip1.width), Kernel = "Spline36", srcmatrix = "TV.709", dstmatrix = "TV.709") : Clip1.ResampleHQ(round(float(clip1.width * hoehe) / clip1.height), hoehe, Kernel = "Spline36", srcmatrix = "TV.709", dstmatrix = "TV.709")) : clip1.ResampleHQ(breite, hoehe, Kernel = "Spline36", srcmatrix = "TV.709", dstmatrix = "TV.709")
    back = (AR == 1) ? (0 == 1) ? ImageReader("", 0, clip1.framecount - 1, clip1.framerate).ChangeFPS(clip1.frameratenumerator, clip1.frameratedenominator).ResampleHQ(breite, hoehe, Kernel = "Spline36", dstcolorspace="RGB24", srcmatrix = "TV.709", dstmatrix = "TV.709") : BlankClip(clip1, width = breite, height = hoehe, pixel_type = "RGB24").KillAudio() : clip1
    Return (AR == 1) ? Overlay(back, clip1, (back.width - clip1.width) / 2, (back.height - clip1.height) / 2).SameColorAs(clip3) : clip1
    }


    Bin natürlich für alles offen :D
  • Es gibt keine allgemein gültigen richtigen Einstellungen, genau deswegen gibt es schließlich die Möglichkeit für unterschiedliche Profile.
    Ohne zu wissen wie das Grundmaterial ausschaut (MediaInfo), lässt sich auch nicht sagen was sich verbessern lässt.
    Folgendes fällt mir allerdings auf:

    WoBra schrieb:

    SetMTMode(3,2)
    Warum limitierst du das auf 2 Threads? Hat das einen speziellen Grund? Im Regelfall verlangsamst du so nur den Encode.

    WoBra schrieb:

    SameColorAs
    "Gleich" im SSM auszuwählen ist nicht zwangsweise richtig. Gerade wenn in RGB aufgenommen und mit MeGUI verarbeitet wird. Ich würde da immer direkt den gewünschten Farbraum angeben.

    WoBra schrieb:

    ResampleHQ
    Deaktiviere das am besten gleich wieder. Verlängert in den allermeisten Fällen nur unnötig den Encode.
  • Hi Kayten,

    zu 1.: Ich meine das so im Tutorial vom De-M-oN gesehen zu haben, kann dann also doch 4 dort einstellen? Da ja meine CPU 4 Kerne und 4Threats hat (war das jetzt richtig? Kommt mir etwas falsch vor^^).

    zu 2.: Ich nehme eigentlich keine RGB Spiele auf, zumindest denke ich das.^^ Habe immer gedacht das er dann den gleichen Farbraum nimmt welches das Rohmaterial hat!

    Zu 3.: Super, mit ResampleHQ war ich mir ziemlich unsicher ob das so in Ordnung ist.

    Noch dazu: Das ist meine einstellung für alle Spiele (zb ETS2, ATS, AC Syndicate usw.). Bisher sah es auch doll aus, aber da ich in einigen Einstellungen noch unschlüssig war wollte ich mal meinungen einholen.

    Danke dir für deine Erklärung und verbesserungsvorschläge, teste ich Heute noch aus :)
  • WoBra schrieb:

    Da ja meine CPU 4 Kerne und 4Threats hat
    Der 6700K unterstützt Hyperthreading, daher stehen diesem 2 Threads pro CPU-Kern zur Verfügung, dementsprechend insgesamt 8. Solange es keinen speziellen Grund gibt, würde ich die Threadangabe einfach direkt im SSM auslassen.

    WoBra schrieb:

    Ich nehme eigentlich keine RGB Spiele auf
    Alles was du auf deinem Monitor siehst, wird von der Grafikkarte in RGB ausgegeben und intern auch in RGB dargestellt.
    Es geht mir eher um Codec und Farbraum im jeweiligen Aufnahmeprogramm. Üblich sind YUV420, YUV422, YUV444 und RGB. Wobei ich eine RGB Aufnahme inzwischen als unnötig ansehe, wenn man Zugriff auf YUV444 mit MagicYUV hat.

    WoBra schrieb:

    Habe immer gedacht das er dann den gleichen Farbraum nimmt welches das Rohmaterial hat!
    Das ist generell richtig, aber nicht immer gewollt und manchmal auch einfach falsch. Gerade wenn man beispielsweise zwei verschiedene Videos hat, die in unterschiedlichen Farbräumen vorliegen. Diese müssen erst auf einen Nenner gebracht werden.
  • Anzeige
    Ok, hab das häckchen dann mal weg gemacht. Also ich nehme mit UtVideo 444 auf. So wie in dem "MSI Afterburner Gaming Tutorial Reihe" Thread.

    Zum Farbraum: Bei mir steht zur auswahl: Gleich, RGB24, YV12, YUY2, Y8, YV16 und YV24. Bin da jetzt ein wenig verwirrt welches nun für was steht (RGB is klar^^) und was man da dann einstellen solte...
  • WoBra schrieb:

    Also ich nehme mit UtVideo 444 auf.
    UtVideo beherrscht kein YUV444. Nur YUV420, YUV422 und RGB. Inkompatible Formate werden in der FFmpeg Variante (OBS Studio) direkt in RGB umgewandelt, was Verschwendung ist.

    WoBra schrieb:

    Zum Farbraum
    Dort sollte man das einstellen, womit man am Ende auch kodiert, aber allerhöchstens das, womit man aufgenommen hat. Standardmäßig kodiert x264 (MeGUI) in YUV420 (YV12). Alternativ dazu wären YUV422 (YUY2), YUV444 (YV24) und RGB, je nachdem, wie man nun x264 kodieren lässt.
  • WoBra schrieb:

    Also ich nehme mit UtVideo 422 auf und encodiere das dann in x264 .MKV.
    Dann verschwendest du letztlich ein paar Informationen. MKV ist übrigens nur ein Container und hat nichts mit x264 zu tun. Vielleicht wird es anhand dieses Bildes etwas deutlicher:

    Jeder Pixel hat seinen eigenen Helligkeitswert (Y), teilt sich aber bei YUV422 mit dem jeweilig rechten bzw. linken die Farbinformationen (U+V).
    Nun kodiert x264 aber standardmäßig mit YUV420, wo sich 4 Pixel (2x2) jeweils die Farbinformationen teilen, bedeutet du musst entweder dein YUV422 Material in YUV420 konvertieren oder x264 umstellen, dass es in YUV422 kodiert.
    Solltest du dich für ersteres entscheiden, so "verwirfst" du quasi jede zweite Zeile an Farbinformationen und hättest sie von vornherein nicht aufnehmen brauchen (Wechsel von UtVideo zu MagicYUV 1.2 mit YUV420), außer du skalierst das Quellmaterial vor dem Kodieren noch. Je mehr Informationen beim Skalieren vorliegen, desto höher qualitativ wird das Ergebnis. Dann wäre sogar YUV444 sinnvoll, falls der PC das schafft, natürlich.
  • Ok so wird das ersichtlich, danke für diese ausführliche Erklärung. Ja ich Skaliere von 1080p in 1152p. Welcher codec wäre für 444 notwendig? Hatte das zwar irgendow gelesen aber durch die fülle der Informationen jetzt vergessen -.- Aber eigentlich reicht mir die Quali so bisher, da ja dann auch die größe der Datei zunimmt, oder vertuhe ich mich da?
  • WoBra schrieb:

    Welcher codec wäre für 444 notwendig?
    MagicYUV 1.2 samt YUV444 Einstellung.
    RGB (über UtVideo oder MagicYUV) würde natürlich auch funktionieren, würde aber auch mehr Speicherplatz brauchen.

    WoBra schrieb:

    Aber eigentlich reicht mir die Quali so bisher, da ja dann auch die größe der Datei zunimmt, oder vertuhe ich mich da?
    Bei der Aufnahme schon, da mehr Informationen gespeichert werden müssen. Die durchs Kodieren entstehende Datei wird aber keine sonderlichen Differenzen in der Dateigröße aufweisen und sonst eine leicht höhere Qualität haben.
  • Was ist denn mit dem Fehler den Sagaras da gefunden hat, hab das auch wieder vergessen wo ich das hier gefunden habe... War aber hier im Forum... Sonst versuche ich das einfach mal bei einer Aufnahme von ca 10-15min.

    Danke für deine gedult und ausführlichen erklärungen, war wirklich sehr Hilfreich und auch ineressant.