MeGUI spuckt nur Videos aus die nur einen Frame zeigen

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

  • MeGUI spuckt nur Videos aus die nur einen Frame zeigen

    Anzeige
    Guten Tag.

    Ich habe mich nun seit einiger Zeit vom lets playen zurück gezogen. Jetzt hab ich wieder Lust darauf.

    Jetzt habe ich aber ein Problem. Es kommt am Schluss ein Video raus, bei dem nur der erste Frame über die komplette Videolänge gezeigt wird. Und es ist auch wirklich nur ein Frame, denn die Dateigröße ist quasi so groß wie die Audiodatei. Audio ist komplett normal.
    Ich mach nichts anders wie früher. Ich nehme meine Rohdatei mit den OBS Studio auf. Mp4; x.264; quasi lossless CBR oder wie das heißt auf 1, da 0 nicht geht.
    Die Rohdatei pack ich dann in Sony Movie Studio. Schneide dort das Video und hau dann per Frameserver eine Datei raus. Dann mache ich mit dieser Datei ein AVS, mit dem SagaraS Scriptmaker. Dann encodiere ich diese AVS mit dem MeGUI. Beim Vorschaubild sind alle Frames vorhanden. Beim Encodieren zeigt mir aber die voraussichtliche Dateigröße schon, dass das Video nicht korrekt sein wird.

    Weiß zufällig jemand von euch was falsch sein könnte?

    Grüße
  • Spoiler anzeigen
    ### SagaraS Scriptmaker - Version 6.1 ###

    ### Lade Plugins und setze die globalen Variablen ###
    Global breite = 3840
    Global hoehe = 2160
    Global AR = 0

    ### Lade Videoquellen ###
    SetMTMode(3)
    AVIload("I:\LPs\Goodbye Deponia\Goodbye Deponia.avi", 0, 0, 0, -0, -0, "Auto", "Auto", 0, 0)

    ### Filter Verarbeitungszone ###

    (IsYUY2() == true) ? ConvertToYV16(matrix = "Rec709") : 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.ConvertToYUY2(matrix = "Rec709") : 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 Resize (Clip 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.Spline64Resize(breite, ceil(float(Clip1.height * breite) / clip1.width)) : Clip1.Spline64Resize(ceil(float(clip1.width * hoehe) / clip1.height), hoehe)) : clip1.Spline64Resize(breite, hoehe).ConvertToYUY2(matrix = "Rec709")
    back = (AR == 1) ? (0 == 1) ? ImageReader("", 0, clip1.framecount - 1, clip1.framerate).ChangeFPS(clip1.frameratenumerator, clip1.frameratedenominator).Spline64Resize(breite, hoehe).ConvertToYUY2(matrix = "Rec709") : BlankClip(clip1, width = breite, height = hoehe, pixel_type = "YUY2").KillAudio() : clip1
    Return (AR == 1) ? Overlay(back, clip1, (back.width - clip1.width) / 2, (back.height - clip1.height) / 2) : clip1
    }

    ConvertToYV12()
  • Also die Rohdatei hat 1080p bei 60FPS.
    OBS Einstellung siehe

    Beim Sony Movie Studio wähle ich beim erstellen des Projektes das Rohvideo aus um die Sequenz zu definieren (also Auflösung FPS usw). Ansonsten halt per Frameserver encoden. Da kann man ja nichts wirklich einstellen (macht ja die AVS dann).

    Wie gesagt bis zum encoden mit MeGUI scheint alles gut auszusehen. Vorschaubild beim einlesen in MeGUI hat das komplette Video. Erst beim encoden scheint dann der Wurm drin zu sein.
  • Anzeige
    Also lustigerweise kommt der "Bug" immer nur bei der ersten Folge (zum Verständnis. Ich nehme immer paar Folgen am Stück auf und teile sie dann in Sony Movie Studio und encodiere sie dann einzeln). Folge 2, 3... encodieren dann komplett normal.