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

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

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

    Anzeige
    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?

    Spoiler anzeigen

    Vollständiger Name : D:\Users\Dom\YouTube\Fertig\Let's Test Dungeons 2.mp4
    Format : MPEG-4
    Format-Profil : Base Media
    Codec-ID : isom
    Dateigröße : 16,6 MiB
    Dauer : 22s 815ms
    Gesamte Bitrate : 6 120 Kbps
    Kodierungs-Datum : UTC 2016-03-07 18:57:39
    Tagging-Datum : UTC 2016-03-07 18:57:39



    Grüße
    Dominator

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von DominatorLP ()

  • Hier die Mediainfo.

    Spoiler anzeigen

    Allgemein
    Vollständiger Name : D:\Users\Dom\YouTube\Fertig\Let's Test Dungeons 2 - Kopie - Kopie-muxed.mp4
    Format : MPEG-4
    Format-Profil : Base Media
    Codec-ID : isom
    Dateigröße : 19,0 MiB
    Dauer : 30s 47ms
    Gesamte Bitrate : 5 315 Kbps
    Kodierungs-Datum : UTC 2016-03-07 19:13:00
    Tagging-Datum : UTC 2016-03-07 19:13:00


    Video
    ID : 1
    Format : AVC
    Format/Info : Advanced Video Codec
    Format-Profil : High@L4.2
    Format-Einstellungen für CABAC : Ja
    Format-Einstellungen für ReFrames : 4 frames
    Codec-ID : avc1
    Codec-ID/Info : Advanced Video Coding
    Dauer : 30s 17ms
    Bitrate : 4 866 Kbps
    maximale Bitrate : 9 356 Kbps
    Breite : 1 920 Pixel
    Höhe : 1 080 Pixel
    Bildseitenverhältnis : 16:9
    Modus der Bildwiederholungsrate : konstant
    Bildwiederholungsrate : 60,000 FPS
    ColorSpace : YUV
    ChromaSubsampling : 4:2:0
    BitDepth/String : 8 bits
    Scantyp : progressiv
    Bits/(Pixel*Frame) : 0.039
    Stream-Größe : 17,4 MiB (91%)
    verwendete Encoder-Bibliothek : x264 core 148 r2638 7599210
    Kodierungseinstellungen : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=30 / keyint_min=16 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=21.5 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Kodierungs-Datum : UTC 2016-03-07 19:13:00
    Tagging-Datum : UTC 2016-03-07 19:13:00


    Audio
    ID : 2
    Format : AC-3
    Format/Info : Audio Coding 3
    Format_Settings_ModeExtension : CM (complete main)
    Format-Einstellungen für Endianess : Big
    Codec-ID : ac-3
    Dauer : 30s 47ms
    Bitraten-Modus : konstant
    Bitrate : 448 Kbps
    maximale Bitrate : 473 Kbps
    Kanäle : 2 Kanäle
    Kanal-Positionen : Front: L R
    Samplingrate : 48,0 KHz
    BitDepth/String : 16 bits
    Stream-Größe : 1,60 MiB (8%)
    Kodierungs-Datum : UTC 2016-03-07 19:13:00
    Tagging-Datum : UTC 2016-03-07 19:13:00


    Hierzu noch das AVI Script
    Spoiler anzeigen

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

    __v = __v.ChangeFPS(60)

    __out = __v.trim(0, 1800)

    __out
    ConvertToYV12()

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DominatorLP ()

  • Anzeige

    De-M-oN schrieb:

    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.
    Spoiler anzeigen

    Allgemein
    UniqueID/String : 186867857456918026396018079712888562746 (0x8C9570B30AF5503CAA8721B1914D243A)
    Vollständiger Name : D:\Users\Dom\YouTube\Fertig\Let's Test Dungeons 2 - Kopie - Kopie-muxed.mkv
    Format : Matroska
    Format-Version : Version 4 / Version 2
    Dateigröße : 18,7 MiB
    Dauer : 30s 23ms
    Gesamte Bitrate : 5 214 Kbps
    Kodierungs-Datum : UTC 2016-03-07 19:57:51
    Kodierendes Programm : mkvmerge v8.5.2 ('Crosses') 32bit
    verwendete Encoder-Bibliothek : libebml v1.3.3 + libmatroska v1.4.4
    DURATION : 00:00:30.023000000
    NUMBER_OF_FRAMES : 1502
    NUMBER_OF_BYTES : 1286166
    _STATISTICS_WRITING_APP : mkvmerge v8.5.2 ('Crosses') 32bit
    _STATISTICS_WRITING_DATE_UTC : 2016-03-07 19:57:51
    _STATISTICS_TAGS : BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES


    Video
    ID : 1
    Format : AVC
    Format/Info : Advanced Video Codec
    Format-Profil : High@L4.2
    Format-Einstellungen für CABAC : Ja
    Format-Einstellungen für ReFrames : 4 frames
    Codec-ID : V_MPEG4/ISO/AVC
    Dauer : 30s 17ms
    Breite : 1 920 Pixel
    Höhe : 1 080 Pixel
    Bildseitenverhältnis : 16:9
    Modus der Bildwiederholungsrate : konstant
    Bildwiederholungsrate : 60,000 FPS
    ColorSpace : YUV
    ChromaSubsampling : 4:2:0
    BitDepth/String : 8 bits
    Scantyp : progressiv
    verwendete Encoder-Bibliothek : x264 core 148 r2638 7599210
    Kodierungseinstellungen : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=30 / keyint_min=16 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=21.5 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Default : Ja
    Forced : Nein


    Audio
    ID : 2
    Format : Opus
    Codec-ID : A_OPUS
    Dauer : 30s 23ms
    Kanäle : 2 Kanäle
    Kanal-Positionen : Front: L R
    Samplingrate : 48,0 KHz
    Default : Ja
    Forced : Nein


    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.
  • DominatorLP schrieb:

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



    DominatorLP schrieb:

    __out = __v.trim(0, 1800)

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



    DominatorLP schrieb:

    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:

    Quellcode

    1. AVISource("A:\Aufnahme\Dungeons 2\v.avi", audio=true).AssumeFPS(30, 1).ChangeFPS(60, 1)
    2. 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:

    Quellcode

    1. AVISource("A:\Aufnahme\Dungeons 2\v.avi", audio=true).AssumeFPS(60, 1)
    2. Trim(0, 1800)
    3. 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



    DominatorLP schrieb:

    Video
    Dauer : 30s 17ms

    DominatorLP schrieb:

    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 ^^
  • 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.

    Dieser Beitrag wurde bereits 1 mal 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.

  • DominatorLP schrieb:

    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

    DominatorLP schrieb:

    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 ^^
  • Sagaras schrieb:

    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.
  • DominatorLP schrieb:

    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.
  • De-M-oN schrieb:

    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.