Beiträge von sgf1

    Vermute ich auch, dass VirtualDub den Typ nicht erkennt. Als mp4 oder avi allerdings auch nicht...


    Jetzt habe ich aber ein anderes Problem: Ich möchte das Video per MeGUI in x264 encodieren und erhalte nach dem ersten Pass folgenden Fehler im Log:

    Code
    [h264 @ 0116700C]Internal error, IDCT permutation not set

    Meine avs-Datei:

    Code
    LoadPlugin("..\Tools\DGAVCIndex\DGAVCDecode.dll")
    AVCSource("hd.dga", deblock=false)
    AssumeFPS(25)
    
    
    Trim(0, 350) ++ Trim(414,0)
    DeleteFrame(26000)
    DeleteFrame(74215)
    DeleteFrame(145213)

    Ist bei zwei Filmen das gleiche. Per DirectShowSource gab es den Fehler nicht.

    DGAVCDec war genau, was ich gesucht habe. Jetzt funktioniert es exakt.
    Auch vielen Dank an matthiasb für die Tipps mit ShowFrameNumber und Stackvertical, damit lassen sich die Unterscheide perfekt finden. :)

    und du meinst später hört man, dass es um 1-2 frames verschoben ist? Das wären noch nicht mal 100ms. :) (bei den üblichen fps natürlich)


    Es geht mir nicht nur darum, dass sich das Gesamtvideo am Ende um 1-2 Frames unterscheiden kann, sondern dass einzelne Frames keine exakte Position haben. Wenn in einem Film also beispielsweise insgesamt 5 oder auch 10 Frames an einzelnen Stellen fehlen oder zu viel sind (und das fällt dann ins Gewicht) ist es unmöglich, sie per DirectShowSource zu finden, da sie ja anscheinend jedes Mal an einer anderen Stelle sind... Also kann man sie z.B. nicht gezielt löschen/duplizieren.

    Vielleicht reicht ja schon, in ffdshow's VfW-Codec das Decodieren von H.264 zu aktivieren. Falls VirtualDubMod diese MKV noch laden kann. Aber Ton hören kann man damit vermutlich auch nicht - mangels ACM-Codecs für z.B. AAC.


    Rein interessehalber würde ich das gerne mal ausprobieren. Mit den aktuellen ffdshow tryouts (beta2a_2007032 und rev1245_20070604) funktioniert es aber anscheinend nicht. In der VFW-Konfiguration unter Codecs steht bei H.264 "libavcodec". Oder muss ich da noch was anderes aktivieren?

    ich würde ffdshow als Decoder verwenden. Bei dem kann man sich mittels "OSD" die Framenummer anzeigen lassen. Nimmt man als Player den MPC, kann man mit "Pfeiltaste rechts" frameweise vorspringen, leider nicht frameweise zurück.


    Auch eine interessante Funktion, ist mir noch garnicht aufgefallen. Die Avisynth-Methode in VirtualDub ist natürlich wesentlich komfortabler. Aber trotzdem Danke! :)

    Sehr praktisch ist, wenn man einen SATA-Brenner hat, dass man auch zwei optische Laufwerke gleichzeitig problemlos nutzen kann. Mit IDE gab das bei mir immer starke Performanceeinbrüche, wenn zwei Laufwerke am gleichen Controller hingen (auch an unterschiedlichen Kanälen).
    Jetzt habe ich einen SATA-Brenner und einen IDE und die beiden arbeiten wunderbar parallel, zumindest beim Lesen. Gleichzeitig Brennen habe ich noch nicht probiert, weils mir in Nero zu unpraktisch ist, dauernd den Rekorder wechseln zu müssen... Sollte theoretisch aber auch machbar sein, solang man es nicht übertreibt mit der Geschwindigkeit und die HDDs hinterher kommen :D

    Hallo,

    ich bin jetzt schon seit mehreren Tagen auf der Suche, wie ich ein x264-Video im mkv-Container framegenau dekodieren kann. Ich möchte also die exakte Framenummer eines Bilds sehen.

    Die einzige Möglichkeit die bei mir (theoretisch) funktioniert, ist eine avs-Datei zu erstellen und die mkv-Datei per DirectShowSource in VirtualDubMod zu laden.
    Die Frameanzeige ist jedoch nicht exakt. Wenn ich mir eine bestimmte Stelle (z.B. einen Szenenwechsel) suche und die Framenummer notiere, sie erneut öffne und zur gleichen Szene gehe, unterscheidet sich die Nummer manchmal um 1-2 Frames. An VirtualDub scheint es nicht direkt zu liegen, denn in AviDemux ist das gleiche zu beobachten.
    Ich habe auch schon erlebt, dass an einer Stelle zwei Mal hintereinander das gleiche Bild angezeigt wurde (also z.B. Frame 1234 und 1235 gleich waren), beim Neuladen der avs-Datei jedoch nicht mehr...

    Nach dem was ich bisher gelesen habe liegt das wohl grundsätzlich an DirectShow und/oder den B-Frames. Aber es muss doch irgendwie möglich sein, die Zahl der Bilder ist doch fest?!

    Was ich noch probiert habe ist per VirtualDubMod direkt die mkv-Datei zu öffnen, was auch grundsätzlich geht, das Video wird allerdings nicht dekodiert (Couldn't locate decompressor for format 'yyyy' (unknown)...), trotz aktuellem ffdshow mit VfW-Interface... :/

    AviDemux bietet seit kurzem anscheinend auch eine Importfunktion für mkvs, die offiziell aber noch kein x264 unterstützt... Bei mir lassen sich die Daten zwar öffnen und auch einigermaßen dekodieren (je nachdem was man bei den beiden Fragen nach alternativem Modus (bei dem die Framegenauigkeit verloren gehen soll) und Neuindizieren angibt), allerdings wird nur ein Teil der Datei eingelesen, also z.B. nur 10.000 Frames statt 150.000...

    Hat jemand vielleicht einen Tipp wie ich die Probleme einer der drei Methoden in den Griff kriegen kann? Oder vielleicht ein ganz anderes Programm? Im Prinzip würde mir auch ein Videoplayer reichen, der die aktuelle Framenummer korrekt anzeigt und frameweise Sprünge zulässt.

    Falls sich jetzt jemand fragt, warum es mir auf 1-2 Frames ankommt: Ich möchte die Tonspuren von DVDs an HDTV-Material anpassen und dazu wissen, ob und wie sich die Versionen unterscheiden...

    Vielen Dank schonmal! :)