MeGUI - Audio und Video Spur haben nicht die gleiche länge

  • Guten Abend,


    ich hatte länger keinen PC, habe nun wieder einen und habe MeGUI damals auf nen Stick gemacht und nutze es nun weiter wie damals.


    Nun meckert aber YT wenn ich ein Video hochlade, das Audio und Video nicht gleichlang sind.


    Habe mir die Audiospur mal in Premiere Elements angeschaut, diese hat 1 Frame mehr als das Codierte Video, auch beim Video Codieren hat MeGUI 1 Frame mehr als das ich möchte. (Bei einem 30s Video)
    Bei einem 30min Video sind es 3 Frames mehr.


    Kann mir da jemand weiterhelfen?




    Grüße
    Dominator

  • Hier die Mediainfo.



    Hierzu noch das AVI Script

  • Nimm MKV als Container - Problem gelöst.


    edit: Oh und bitte nicht so'n miserablen Audio Codec.


    Nimm da eher Opus und stell mind. 256 kbit ein.


    Audio Decoder machste ffaudiosource.



    Warum der RGB32 Konvert eig?
    Warum ChangeFPS 60? Hat es das Video nicht bereits?

  • Hier mit MKV Container, das gleiche Problem, die Zeit ist zwar geringer, aber nicht identisch, YouTube meckert immer noch.


    Der RGB32 Konvert ist noch drin da sonst MeGUI meckert wenn ich nen PNG mit Unsichtbaren Stellen einfüge mit ImageReader + Overlay und auch beim Keyn von der Webcam mit Greenscreen.



    Ich dachte der Fehler liegt an der Webcam File oder den Dxtory Audiospuren, auch ohne den Konvert und das ChangeFPS 60 habe ich noch drin weil ich was getestet habe und ja es hat 60 FPS.

  • .ConvertToRGB32()

    Das ist vollkommen überflüssig an dieser Stelle und erhöht dir nur unnötig die Berechnungszeit beim Encoding.




    __out = __v.trim(0, 1800)


    __out

    Das __out kannste dir sparen hier. Ist überflüssig anzugeben.




    AVISource("A:\Aufnahme\Dungeons 2\v.avi", audio=true)

    Das Video lädst du, aber korrigierst es nicht mit Assume.



    Dein Skript kannste sehr viel einfacher machen:

    Code
    AVISource("A:\Aufnahme\Dungeons 2\v.avi", audio=true).AssumeFPS(30, 1).ChangeFPS(60, 1)
    Trim(0, 1800)

    Bei AssumeFPS kommt die FPS rein die dein Video als Quelle hat. Danach kannst du es mit ChangeFPS ändern auf 60.
    Sollte deine Quelle schon 60 FPS haben, so trägst du bei AssumeFPS die 60 ein und löschst ChangeFPS


    Ist deine Videoquelle bereits YV12, ist der Eintrag ConvertToYV12() hinfällig.


    Wenn deine Quelle kein YV12 ist, du es aber in YV12 encoden willst, machste das wie folgt:


    Code
    AVISource("A:\Aufnahme\Dungeons 2\v.avi", audio=true).AssumeFPS(60, 1)
    Trim(0, 1800)
    ConvertToYV12(matrix="Rec709")

    Hier haste auch gleich noch mal ein Beispiel wenn deine Quelle schon 60 FPS haben sollte. Das musst du dann bei AssumeFPS angeben, sonst korrigiert AVISource das nicht.
    AVISource hin und wieder bei einigen Videos die FPS falsch einlesen, daher korrigiert man das mit AssumeFPS.



    Wie du siehst brauchst du nicht mal Variablen dafür ;D




    Video
    Dauer : 30s 17ms

    Audio
    Dauer : 30s 47ms

    Ist schon mal etwas auseinander. Sollte aber von YT her kein Beinbruch sein.


    Sofern du da nix Asynchron hast ist das egal.


    Wenn du die Skripte via SSM erstellen würdest und auch Audio darüber extrahieren würdest, wäre Video und Audio gleich lang.
    Zumal dir der SSM die Skriptarbeit abnehmen würde die du ja selbst ganz schön verkorkst hast ^^

  • Und du hast bei MeGUI noch den 10bit Encoding Haken vergessen.


    Konvertierung auf RGB32 nur wenn du es auch wirklich brauchst.


    YV12 -> RGB -> YV12
    => Doppelte Farbkonvertierung = Unnötige Farbverluste + Encodingzeit wird auch höher dadurch.

  • Das Script ist so verkorkst, da ich vieles raus genommen habe noch nie das Problem gehabt das weder YT gemeckert hat, noch das die Zeiten auseinander lagen, ich verwende ein selber programmiertes Tool um die Scripte zu erstellen, da ich mit SSM nicht klargekommen bin, ich war bisher auch zufrieden und hatte nie Probleme.


    Das __out ist drin, da ich mehrere Video Dateien immer in die __out Variable schiebe, Sie ist an sich nur der Transporter um die Happen zusammenzusetzen.


    Leider meckert YT bei dem Video auch und bei längeren Videos wird das dann Asynchron, da ich Videos von ca 1h länge aus Streams Codiere, da wird mal eben aus den paar ms einiges mehr.

    Einmal editiert, zuletzt von DominatorLP () aus folgendem Grund: Ach und das mit YV12 -> RGB -> YV12 weiß ich, nur meckert MeGUI wenn ich ne PNG oder Webcam mit Greenscreen rein mache.

  • Das __out ist drin, da ich mehrere Video Dateien immer in die __out Variable schiebe, Sie ist an sich nur der Transporter um die Happen zusammenzusetzen.


    Leider meckert YT bei dem Video auch und bei längeren Videos wird das dann Asynchron, da ich Videos von ca 1h länge aus Streams Codiere, da wird mal eben aus den paar ms einiges mehr.

    Man gut das der SSM das nicht kann xD War eines der ersten Features die der SSM hatte. Mehrere Videos synchron zusammensetzen. Kannste gerne @De-M-oN fragen. ^^ Hat glaube ich seinem Descent 3 Projekt sehr geholfen diese Funktion xD


    ich verwende ein selber programmiertes Tool um die Scripte zu erstellen, da ich mit SSM nicht klargekommen bin

    Der SSM hat aber schon viele Sachen drin womit man vieles schon sehr einfach hat.


    z.B. die Sache mit dem AssumeFPS hinter AVISource. Wird beim SSM automatisch ermittelt, da der SSM eine Funktion im Skript dafür drin hat.


    Farbkonvertierungen werden auch akkurat und sauber eingehalten. Da kann man eigentlich nix falsch machen ^^


    Mal so Off Topic: Was ist am SSM denn so kompliziert? Weil irgendwie machst du dir das ja auch nicht grad einfacher. Eher schwerer ^^

  • Mal so Off Topic: Was ist am SSM denn so kompliziert? Weil irgendwie machst du dir das ja auch nicht grad einfacher. Eher schwerer

    Ähm, ich hatte das damals getestet und habe 0 durchgeblickt und hab dann ein paar tuts angeschaut und immer noch nichts geblickt....


    Ich sage meinem Tool wo die Files liegen, es fügt automatisch die 4 Audiospuren mit hinzu, dann sage ich ihm von wo bis wo das Video ist bzw. wenn es mehrere Ausschnitte sind, in welcher Reihenfolge und von wo bis wo, und dann sage ich ihm welches Outro oder ob es ne PNG File ist, bzw. es ist per dropdown auswählbar.


    Ich habe das ganze so vorgefertigt das es auch meine Bedürfnisse angepasst ist, nur jetzt macht es mir Probleme, seit ich den "neuen" PC habe.


    Ich weiß ja nicht ob SSM mittlerweile anders ist, hatte bisher keinen Grund dies zu testen, da es bei mir so gelaufen ist wie es gewünscht war.
    Also nichts gegen SSM.

  • Ich weiß ja nicht ob SSM mittlerweile anders ist, hatte bisher keinen Grund dies zu testen

    Dann probier es doch mal aus.


    Falls du die Version vor 5.0 gehabt hast und du von @De-M-oN nur das erste Video zu SSM kennst (v4.8), dann solltest du wirklich noch mal den neuen SSM probieren.


    Es ist eigentlich sehr Übersichtlich gehalten und an sich auch selbsterklärend.

  • Es ist eigentlich sehr Übersichtlich gehalten und an sich auch selbsterklärend.

    Ich habs mir gerade mal angeschaut und es sagt mir nicht zu, zudem das ich meinen Virenscanner deaktivieren musst weil der mir die exe gelöscht hat.

  • Da können wir ja nichts für, wenn dein Antivirus false positives macht und bei heuristischen Treffern direkt löscht.


    Was isn dein Problem mit SSM? Irgendwas muss ja stören / unverständlich sein. So kann man dir jedoch nicht helfen :P

  • Da können wir ja nichts für, wenn dein Antivirus false positives macht und bei heuristischen Treffern direkt löscht.


    Was isn dein Problem mit SSM? Irgendwas muss ja stören / unverständlich sein. So kann man dir jedoch nicht helfen :P

    Habs Antivirus deaktiviert und installiert.


    Ich finde SSM irgendwie umständlich, also is meine Meinung, kann auch dran liegen da ich selber Programmiere und mich im Code wohler fühle und es gewöhnt bin mit meinem Tool.


    habe zwar mit dem SSM gerade auch die 30s erstellt und gerendert, da hatte ich auch von 30ms einen Versatz in der Mediainfo gehabt...


    Naja, ich werde mal schauen ob ich das Problem / den Fehler finde, aber danke für eure Hilfe.



    Wünsche euch einen schönen Abend.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!