Wmv --> mkv oder ts (Bild/Ton sind Asynchron)

  • Nabend, ich habe mal wieder mit Asynchronem Bild/Ton zu kämpfen. :(

    Erstmal poste ich die Infos vom Source File (verwendetes Tool Media Info):

    @Video:

    Code
    Modus der Gesamtbitrate          : konstantGesamte Bitrate                  : 5 982 Kbpsmaximale Gesamtbitrate           : 6 433 KbpsKommentar                        : Created with Encode360
    Code
    Format                           : WMV2Codec-ID                         : WMV2Codec-ID/Info                    : Windows Media Video 8Beschreibung zum Codec           : Windows Media Video V8Dauer                            : 2h 3minBitraten-Modus                   : konstantBitrate                          : 6 000 KbpsBreite                           : 1 280 PixelHöhe                             : 720 PixelBildseitenverhältnis             : 16:9Bildwiederholungsrate            : 23,976 FPSAuflösung                        : 24 bitsBits/(Pixel*Frame)               : 0.272Stream-Größe                     : 5,18 GiB

    @Audio:

    Code
    Format                           : WMAFormat-Profil                    : ProCodec-ID                         : 162Codec-ID/Info                    : Windows Media AudioBeschreibung zum Codec           : Windows Media Audio 10 Professional - 384 kbps, 48 kHz, 5.1 channel 24 bit (A/V) 1-pass CBRDauer                            : 2h 3minBitraten-Modus                   : konstantBitrate                          : 384 KbpsKanäle                           : 6 KanäleSamplingrate                     : 48,0 KHzAuflösung                        : 24 bits

    Ergebnis: Beides läuft im Quellfile synchron.

    So: Aus dem Video eine Mkv Basteln ging mit Avi Synth Script+MeGUI relativ einfach. Mein Ergebnis sieht dann so aus:

    Code
    Format                           : MatroskaDateigröße                       : 6,91 GiBDauer                            : 2h 3minGesamte Bitrate                  : 8 003 KbpsKodierendes Programm             : x264verwendete Encoder-Bibliothek    : Haali Matroska Writer b0

    bzw.:

    Code
    Format                           : AVCFormat/Info                      : Advanced Video CodecFormat-Profil                    : High@L4.1Format-Einstellungen für CABAC   : JaFormat-Einstellungen für ReFrame : 2 framesMuxing-Modus                     : Container profile=Unknown@4.1Codec-ID                         : V_MPEG4/ISO/AVCDauer                            : 2h 3minBitrate                          : 7 844 Kbpsnominale Bitrate                 : 8 000 KbpsBreite                           : 1 280 PixelHöhe                             : 720 PixelBildseitenverhältnis             : 16:9Bildwiederholungsrate            : 23,976 FPSAuflösung                        : 24 bitsColorimetrie                     : 4:2:0Scantyp                          : progressivBits/(Pixel*Frame)               : 0.355Stream-Größe                     : 6,77 GiB (98%)verwendete Encoder-Bibliothek    : x264 core 68 r1183M f21daffKodierungseinstellungen          : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=4 / psy_rd=0.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=8000 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00

    Soweit so gut. Beim Audio gab es allerdings extreme Probleme.
    Öffne ich die WMV mit Virtual Dub 1.9.7 (incl. ein paar Plugins) wird kein Bild angezeigt, sondern es steht missing codec im Bildfenster.
    Gehe ich auf File --> Save as Wav erhalte ich ein abspielbares Wavefile.

    Genauer:

    Code
    Format                           : WMAFormat-Profil                    : ProCodec-ID                         : 162Codec-ID/Info                    : Windows Media AudioDauer                            : 2h 3minBitrate                          : 384 KbpsKanäle                           : 6 KanäleSamplingrate                     : 48,0 KHzAuflösung                        : 24 bits

    was für mich auch erst mal ganz annehmbar aussieht. Dachte ich zumindest!
    Ich habe diverse Programme getestet, doch keine wollte die Wav Datei mit dem Wma3 Codec umwandeln. Selbst SUPER bricht mit einer Error Message ab. (auch im Stream Copy Mode).

    Jetz kommt das erste kuriose: Gebe ich Super das original WMV File zu fressen, erstellt er mir ohne Murks eine abspielbare Ac3 Datei. Diese sieht dann so aus:

    Code
    Format                           : AC-3Format/Info                      : Audio Coding 3Dauer                            : 2h 3minBitraten-Modus                   : konstantBitrate                          : 448 KbpsKanäle                           : 6 KanäleKanal-Positionen                 : Front: L C R, Surround: L R, LFESamplingrate                     : 48,0 KHzStream-Größe                     : 396 MiB (100%)

    So und wenn ich das Ganze nun mit SUPER oder MeGUI muxxe, oder z.B. mit dem ts muxxer muxxe, habe ich als Ergebnis ein Asynchrones MKV bzw. ts File. :(

    Der Delay beträgt bereits am Anfang einige Sekunen.

    Hier mal das Beispiel des asynchronen ts Files:

    video:

    Code
    ID                               : 4113 (0x1011)Menü-ID                          : 1 (0x1)Format                           : AVCFormat/Info                      : Advanced Video CodecFormat-Profil                    : High@L4.1Format-Einstellungen für CABAC   : JaFormat-Einstellungen für ReFrame : 2 framesDauer                            : 2h 3minBitrate                          : 7 649 Kbpsnominale Bitrate                 : 8 000 KbpsBreite                           : 1 280 PixelHöhe                             : 720 PixelBildseitenverhältnis             : 16:9Bildwiederholungsrate            : 23,976 FPSAuflösung                        : 24 bitsColorimetrie                     : 4:2:0Scantyp                          : progressivBits/(Pixel*Frame)               : 0.346Stream-Größe                     : 6,61 GiB (88%)verwendete Encoder-Bibliothek    : x264 core 68 r1183M f21daffKodierungseinstellungen          : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=4 / psy_rd=0.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=8000 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.0Sprache                          : Englisch


    audio:

    Code
    ID                               : 4352 (0x1100)Menü-ID                          : 1 (0x1)Format                           : AC-3Format/Info                      : Audio Coding 3Dauer                            : 2h 3minBitraten-Modus                   : konstantBitrate                          : 448 KbpsKanäle                           : 6 KanäleKanal-Positionen                 : Front: L C R, Surround: L R, LFESamplingrate                     : 48,0 KHz

    bzw. das Asynchrone MKV File:

    Code
    ID                               : 1Format                           : AVCFormat/Info                      : Advanced Video CodecFormat-Profil                    : High@L4.1Format-Einstellungen für CABAC   : JaFormat-Einstellungen für ReFrame : 2 framesMuxing-Modus                     : Container profile=Unknown@4.1Codec-ID                         : V_MPEG4/ISO/AVCDauer                            : 2h 3minBitrate                          : 7 834 Kbpsnominale Bitrate                 : 8 000 KbpsBreite                           : 1 280 PixelHöhe                             : 720 PixelBildseitenverhältnis             : 16:9Bildwiederholungsrate            : 25,000 FPSoriginale Bildwiederholungsrate  : 23,976 FPSAuflösung                        : 24 bitsColorimetrie                     : 4:2:0Scantyp                          : progressivBits/(Pixel*Frame)               : 0.340Stream-Größe                     : 6,77 GiB (93%)verwendete Encoder-Bibliothek    : x264 core 68 r1183M f21daffKodierungseinstellungen          : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=4 / psy_rd=0.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=8000 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00Sprache                          : Englisch
    Code
    ID                               : 2Format                           : AC-3Format/Info                      : Audio Coding 3Codec-ID                         : A_AC3Dauer                            : 2h 3minBitraten-Modus                   : konstantBitrate                          : 448 KbpsKanäle                           : 6 KanäleKanal-Positionen                 : Front: L C R, Surround: L R, LFESamplingrate                     : 48,0 KHz

    Beim mkv File fällt mir hier auf, dass

    Zitat


    Bildwiederholungsrate : 25,000 FPS
    originale Bildwiederholungsrate : 23,976 FPS


    Ich die Rate anscheinend wieder anpassen müsste auf 23,976FPS. Dies geht jedoch bei mir nicht im tsMuxxer. Hier kann ich nur 24FPS, 25FPS, 24000/1001 bzw. 25/1001 einstellen. (bei den General Tracking options). Diese FPS Varianten habe ich auch bereits alle ohne Erfolg getestet.

    Interessant für euch ist eventuell noch folgende Meldung vom tsmuxxer im output fenster:

    Code
    SmartLabs tsMuxeR.  Version 1.10.6  http://www.smlabs.net
    Decoding H264 stream (track 1): Profile: High@4.1  Resolution: 1280:720p  Frame rate: 23.976
    H.264 stream does not contain fps field. Muxing fps=23.976
    H264 bitstream changed: insert nal unit delimiters
    H264 bitstream changed: insert pict timing and buffering period SEI units
    Decoding AC3 stream (track 2): Bitrate: 448Kbps Sample Rate: 48KHz Channels: 6
    H264 bitstream changed: insert SPS/PPS units

    Vielleicht hat einer von euch ja eine Idee, wo das Problem sein könnte. Ich bin jedenfalls mit meinem Latein am Ende.

    Wer sich fragt, warum ich das ganze mache: Ich habe eine WDTV Media Box. Diese unterstützt eben kein WMV, sondern nur MKV, Ts, M2TS usw.

  • Generell:
    Falls Du den Effekt auch mit einem kleinen File hinbekommst wäre schön, wenn Du so ein File mal posten könntest, da man dann vermutlich eher gut helfen kann.:)

    Ansonsten sollte man da ansetzen wo es anfängt schief zu laufen, also nach der ersten Verarbeitung durch MeGui/SUPER. Da beide auf Avisynth aufbauen, wäre es vermutlich sinnig sich die zum Einlesen verwendeten Avisynthskripte mal genauer anzugucken.

    Cu Selur

  • Hach das Problem kenn ich doch. Und wieder mal in MS schuld :D
    Nein, ernsthaft. Ich habe auch sehr große Probleme beim umwandeln vom .wmv nach .mkv, .mp4, .ts ... und es ist immer das Audio das aus dem Ruder läuft.
    Bis jetzt gehöhrt das absolut zu den großen Mysterien was sich Microsoft da so aus den Fingern gesaugt hat.

    Es scheint völlig egal zu sein was du für die Konvertierung benutzt. Ob's MeGUI, Avidemux, sx264 oder ffmpeg ist, keiner kann dieses offset beheben. Zumindest bei mir nicht.

    Wandelst du das Audio in z.B. mp4 oder WAV um, und öffnest es mit beispielsweise in Goldwave, so wirst du feststellen das die Spieldauer exact mit der des Videos übereinstimmt. Muxt man das Ganze aber, so ist der Sound am Anfang noch syncron, jedoch mit fortschreitender Dauer wird das Offset immer größer.
    Es ist dabei vollkommen egal ob du AviSynth beim DirectShowSource das convertfps=true, noseek oder was auch immer mitgibst. Auch einen Graph zu basteln via Graphedit bringt nichts.

    Das Problem muß sich immerhalb des Ganzen verbergen. Ich habe festgestellt das immer dann "Verschiebungen" auftreten wenn es Ein- bzw. Ausblendungen gibt.
    Ich vermute mal das wma die "Stille" nicht als "mute" sondern als "keine Audio Daten" betrachtet und es deshalb zum offset kommt. Demgegenüber steht aber der Fact das die Spielzeit genau passt.
    Auch die FPS zu konvertieren bringt rein gar nichts.

    Ich hatte auch schon den wma Teil mit MS-Tools extrahiert und gesondert in AAC bzw. AC3 gewandelt -> Gleiches in grün.

    Als letzte Möglichkeit blieb noch die Audio Daten zu indexieren und diesen Index mkv mitzugeben. Dies hat aber bei mir noch nie funktionert, da sich mkvmerge immer darüber beschwert das zu wenige Einträge für zu viele Frames da währen obwohl das nachweislich nicht der Fall ist!

    Ich bin gerade dabei den Index File ein wenig genauer zu betrachten. Mal sehen ob irgentwelche Sprünge zu sehen sind ...

    Alles in Allem komme ich auch nicht weiter und es schein kaum jemanden zu geben der sich in punkto wmv auch nur Ansatzweise auskennt :(

  • Sorry, hab's gerade nicht zur Hand.
    Aber mein Python Script zum analysieren der Timecodes ist fertig.

    Zunächst habe ich die Timecodes der Audiosamples des wmv Videos mit WMVTIMES.exe erzeugt und in einer Datei abgelegt.
    Dieser Textfile kann mit dem Pythonscript analysiert werden und es zeigt die Timecodes an deren Stelle sich größere Sprünge befinden:

    Ich weiß jetzt nur nicht wie man das ausgleichen kann ...

  • Würde euch gern nen kleineres File zur Verfügung stellen...

    kennt einer von euch nen gut funktionierendes Cutter Programm für mkv?
    Die ich so auf die schnelle gefunden habe, wollten das, ohne es in irgend nen anderes Format umzuwandeln, nicht in kleinere Parts cutten.

  • So, hier gibts dann mal etwas über eine Minute als Sample.
    Hoffe ihr findet ne gescheite Lösung. :)

    http://rapidshare.com/files/299686499/Sample.rar

    update, Link 2:

    http://www.sendspace.com/file/derpmo

    P.S: Soweit ich es nachvollziehen konnte, ist es eine konstante Verzögerung nach dem Umwandeln. Interessant ist dabei, dass der Ton Exakt da ist wo er sein sollte, nur das Bild ist an einer falschen stelle. Ich habe die original Wmv Datei mal mit meiner Mkv Verglichen. Der Ton kommt richtig, nur das Bild ist woanders.

    2 Mal editiert, zuletzt von DaXmYsT (29. Oktober 2009 um 21:14)

  • Ach crap - ich lade es gleich noch woanders hoch. Achte einfach so in 10min nochmal auf meinen Post oben wo der RS Link drin ist. :)

    Edit: 2nd Link hinzugefügt.

    Einmal editiert, zuletzt von DaXmYsT (29. Oktober 2009 um 21:15)

  • Kanns nicht wirklich nachvollziehen.....
    Async wirds nur wenn ich die Streams mit SUPER muxe, da SUPER keine BpS bei AVC an den MKV-Muxer übergibt.
    Muxe ich mit MEGUI, MKVMerge oder tsMuxeR ist alles synchron.

  • Bist Du Dir "wirklich" sicher? Die Abspielzeiten kommen bei mir auch hin, wenn man jedoch z.B. auf Sekunde 35/36 spult müsste dort nen Bildwechsel sein. Dieser war bei mir immer um ca. 1 Sekunde vorgezogen, so dass das Bild vor dem Ton war. Die endgültige Abspielzeit bliebt dadurch unberührt, jedoch wird es wenn man sich den Ton anhört und auf die Lippen achtet minimal Async.
    Das war bei mir bei beiden Programmen der Fall.

    Das war wie gesagt der Fall, wenn ich das Original WMV File mit SUPER nach MKV umwandel oder wenn ich nen Script in MeGUI einbinde und mir so ein MKV File erstelle.

    "wichtig" ist ja, dass der Ton eine Ac3 oder DTS Tonspur wird und das Video eben den h264 Codec hat. Sprich das Ganze mkv oder ts Format annimmt. (denke weißt wie ich das meine, in ner mkv kann ja jeder Mist sein vom Prinzip her).

    2 Mal editiert, zuletzt von DaXmYsT (30. Oktober 2009 um 00:01)

  • Mh... interessant. Vor allem komisch warum es dann bei mir zu Problemen kommt. Habe jedenfalls für mich raus gefunden, dass das Problem der
    olle wmv2 Codec ist. Wenn man daraus nen WVC1 Codec macht (z.B. mit wmvMuxxer), kann man die WMV Datei problemlos mit SUPER weiter bearbeiten.

    Jedenfalls mache ich in Zukunft wenn möglich nen Bogen um WMV Dateien. ^^

  • Hi bigotti5

    Das weiss ich doch auch.....hier aber erst nachdem ich den Film mit dem mpc abgespielt hatte.:ani_lol:

    Alle Tools zeigen mir aber eine Länge von über 2 Std. an,sogar MediaInfo 0.7.23
    Hab erst nicht drauf geachtet,einfach das wmv auf meinen soeben fast fertiggestellten Arbeitsrechner zum testen draufgelegt,da habe ich nur die ältere Version von Edius 4.61

Jetzt mitmachen!

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