Leider nochmal: Ton asynchron...

  • bin ein bissel verwirrt, mpv sollte eigentlich 'video only' sein => da soltle man keinen Splitter sondern nur einen Decoder brauchen, bei mpg (= programstream mit Audi&Video) braucht man nen Splitter,..

    Irgendwie haben wir wohl aneinander vorbei geschrieben. ;)

    Cu Selur

  • Ja, mich hats auch gewundert, aber ich hab ja schonmal die Resultate aus GSpot raus beschrieben:
    mpv:
    Video: (S) --> MPEG-2 Splitter --> ffdshow MPEG-4 Video Decoder --> (R)
    mpg:
    Video: (S) --> MPEG-2 Demultiplexer --> ffdshow MPEG-4 Video Decoder --> (R)
    Audio: (S) --> MPEG-2 Demultiplexer --> ffdshow Audio Decoder --> (R)

    Beide verwenden die Datei C\WINNT\System32\mpg2splt.ax. DirectX neu zu installieren hat auch nicht geholfen, daher meine Entscheidung, die Sache aufzugeben...
    ...ich wollte ja irgendwann abends mal was anderes machen als rumzuprobieren - z.B. mal ein paar der Folgen kucken :D

    Naja, auf jeden Fall hab ich ein bischen was über DirectShow und Avisynth gelernt.

    Da ich jetzt doch wieder dgdecode benutze, habe ich noch eine Frage (vermutlich muß ich die aber eher im engl. Forum direkt unter VDM stellen):
    Für die "verschluckten" Frames werden im erzeugten AVI am Ende ja wieder Frames vom Anfang angezeigt. Wenn ich mit VDM im AVS ans Ende scrolle, stimmt aber alles. Verwendet VDM vielleicht für "Fast recompress" so ne Art "Next Frame" Funktion von dgdecode für sequentielles Lesen und zum Spulen/Anschauen eine "Jump To Frame"-Funktion?

    Vermutlich sind in meinen Aufnahmen in manchen Frames Fehler, die ProjectX nicht erkennt, die aber die "Next Frame"-Funktion durcheinander bringen.

    Stelle ich mir das richtig vor, oder bin ich auf dem Holzweg?

    Trekkie2 *auf der Suche nach Erleuchtung*

    Grüße!
    Trekkie2

  • Was, da gibts noch andere (brauchbare) *verblüfft*?
    Nur um sicher zu gehen: Du meinst den hier
    http://nic.dnsalias.com/MPEGDecoder/MPEGDecoder_YV12.zip
    oder?
    Und dann im AVS z.B.:
    MPEGSource("Folge_1x04.mpv", 66500, nod2v)
    Oder ist es besser, das d2v z.B. mit DVD2AVIdg 1.0.0 zu erzeugen?

    Sorry wegen der blöden Fragerei, aber nicht daß ich Dich schon wieder falsch verstehe...

    Wäre ja witzig, wenns jetzt doch noch klappen würde.

    Danke und schönen Abend!

    Trekkie2

    Grüße!
    Trekkie2

  • "MPEGSource("Folge_1x04.mpv", 66500, nod2v)"
    meine so sollte es gehen, wenn Du das d2v file extern erstellen willst, musst darauf achten, dass das d2v file DVD2AVI 1.73 kompatibel ist.

    "Wäre ja witzig, wenns jetzt doch noch klappen würde."
    Versuchen kann man es auf jeden fall mal. :)

    Cu Selur

  • Moin Selur,
    die eine Folge, die ich gestern gerendert habe (nur 1-Pass Quant.4) schien oK:
    1. Die "Füllframes" vom Anfang waren am Ende nicht dran
    2. Das Ende war nur noch ein klein bischen asynchron, das könnte aber auch an der deutschen Synchronisation liegen, vielleicht haben die den Beep nicht genau an der richtigen Stelle gesetzt (Man sieht, wie auf eine Taste gedrückt wird und hört ein Beep) - ich mußte dann weg, daher konnt ichs nicht genauer prüfen.

    Bei der ganzen Geschichte bin ich ja zum Pessimisten mutiert, daher bin ich jetzt ganz vorsichtig und lobe das Ganze nicht zu früh...
    ...aber ich hab auf einer temp-Partition noch ein bischen Platz geschaffen und nochmal den 1. Pass angeworfen - werde mal sehen, was dabei rauskommt.

    Auf jeden Fall kann ich mir mit dem Decoder den Extra-Arbeitsschritt mit DGIndex sparen, das ist immer gut :D

    Bei Arbeitsschritt: Das wichtigste Skript hab ich gestern vergessen: Aus den m2e-Dateien von MPEG2Schnitt werden automatisch Kapiteldateien mit Kapiteln an den Werbe-Schnitten erzeugt. Diese sind kompatibel zu OggMux.

    OK, ein weiteres Mal: Danke! Danke! Danke!

    Außerdem schließe ich mich Massaguana an: (http://forum.gleitz.info/showthread.php?t=15756&page=3&pp=10)
    Es bestätigt sich mal wieder. "Jeder sollte ein kleinen Selur zu Hause haben"

    Trekkie2

    Grüße!
    Trekkie2

  • Moin Trekkie2,
    was hälst du davon mal eine Zusammenfassung dessen zu schreiben was dich letzlich zum Erfolg geführt hat?
    Weil, bei einem so langen Thread verliert man den schnell den Überblick.

    Live long and prosper

  • Wenns zum Erfolg führt (bzw. geführt haben wird) gerne :D

    Wie ich oben schon geschrieben hatte, würde ich gerne was ans Forum zurückgeben. (OK, für Selur kann ich höchstens eins tun: ne Zusammenfassung schreiben, damit er weniger Fragen beantworten muß - hast Recht!)

    OK, werds mir für nächste Woche vormerken - ich vermute mal, daß ich nicht der Einzige bin, der Probleme hat, daß DVB-Aufnahmen auch nach ProjectX noch asynchron werden.

    Grüße!

    Trekkie2

    Grüße!
    Trekkie2

  • Zitat

    Ich bin ja schon happy, wenn wir nen Lösungsweg gefunden haben.

    Hi Selur,
    ich glaube, das haben wir (naja, eher Du - ich hab ja nur die Ausführung gemacht)!

    OK, ich bin vorsichtig geworden: Ich schreib "Ich glaube", bis ich das Zeug auf Scheiben habe...

    Aber die Folgen, die ich bisher kontrolliert habe, waren absolut OK! Die besonders kritische Folge mit dem Beep am Ende ist auch schon im mpv+mp2 ganz leicht asynchron, ich würde behaupten, das wurde 1:1 übersetzt, also optimal (wieso sollte es nach dem Rendern synchroner werden als es vorher war...
    ...und was bitte ist "synchroner"?)

    Wieso verwenden eigentlich so viele Leute DGdecode, obwohl Nics Decoder bequemer (d2v werden automatisch erzeugt) und stabiler (zumindest in meinem Fall) sind? Oder hat Nics Decoder einen Nachteil gegenüber DGs?

    Eine Zusammenfassung des Threads folgt dann wenn ich erstmal wieder ein bischen Uptodate bin mit rendern...
    ...und die ersten Folgen auf Scheiben (s.o.)...
    Achso, wird dieser Thread eigentlich dann verschoben, oder wo gehören "Async"-Threads hin?

    Außerdem bin ich natürlich immer noch offen für DeInterlace-Vorschläge: FielDeinterlace(blend=false) ist OK (deshalb werde ich die bisherigen Folgen nicht neu rendern), aber noch nicht optimal. Hab schon im Forum gesucht, aber keine automatische Lösung gefunden. Ist meine Variante die Beste vollautomatische (ohne einzelne Szenen analysieren zu müssen) oder gehts besser?

    In wachsender Dankbarkeit :D

    Trekkie2

    Grüße!
    Trekkie2

  • Die d2v-Erzeugung mag "bequemer" sein; aber die von DGDecode müsste zuverlässiger sein, und hatte im Verlaufe ihrer Entwicklung aus MPEG2Dec3 einige Fehler korrigiert (mit offenen GOPs) und ihre Fähigkeiten auf Transport-Streams und Elementar-Streams gehörig erweitert (MPEG2Dec3 war ziemlich auf DVD-Pakete mit 2 KB optimiert).

    Und Nic's Decoder dürfte kein Post-Processing (Deblocking, Deringing) bieten, soweit ich weiß. Aber er bastelt ja schon an seiner Version 3 (und die mag ich - und er selber - nicht als "stabil" bezeichnen, bevor sie nicht weitreichend getestet wurde)...

  • Hi LigH,
    1. zuverlässiger:
    a) Ja, war mir aufgefallen, daß AVS2AVI immer ein paar Frames zu wenig meldet. Aber im Endprodukt stimmt die Framezahl wieder mit der des mpv überein (zumindest bei meinen 2 Stichproben).
    b) Naja, für mich ist Nics Version zuverlässiger, weil sie keine Frames vergisst...

    2. Post-Processing:
    Hab grad nochmal nachgesehen, da gibts Nix (zumindest Nix Dokumentiertes). Aber da ich davon eh keine Ahnung habe...

    Grüße!

    Trekkie2

    Grüße!
    Trekkie2

  • Hallo,
    ja - Nics MPEGDecoder funktioniert immer noch :D

    Aber restore24 will damit nicht - ist das ein Problem von diesem Decoder oder von restore24?

    Ich erhalte eine Meldung, daß das Material nicht RGB ist. Hab auch schonmal ein ConvertTo... davor geschrieben, aber dann meckert die Kiste, daß es kein YV12 mehr wäre.

    Ich hab das Paket von scharfi runtergeladen:
    http://forum.gleitz.info/showthread.php?t=12725

    Das müßte doch eigentlich so tun, oder nicht?

    Grüße!

    Trekkie2

    Grüße!
    Trekkie2

  • Hallo,
    hier die Zusammenfassung, wie von Eriman angeregt:
    Der Übersichtlichkeit wegen sind die Punkte meist thematisch und nicht chronologisch geordnet

    Was wollte ich machen?
    - Star Trek (kabel1) über DVB-S aufnehmen -> mpg (andere Formate werden von der Hauppauge-Softw. nicht unterstützt)
    - mit ProjectX demuxxen und korrigieren (mit Lossless Conversion Single to Stereo) -> mpv/mp2
    - mit MPEG2Schnitt Werbung rausschneiden -> mpv/mp2
    - Zu XViD komprimieren (auf verschiedenste Arten, s.u.) -> avi + Ton (egal in welchem Format)

    Problem:
    Nach dem Codieren in XViD war der Ton bei vielen Folgen asynchron, die ersten Minuten war noch Nix zu merken, aber der Ton lief immer mehr dem Bild hinterher (Man sieht, die Lippen bewegen sich und später hört man dann, was gesagt wird). Am Ende werden dann ein paar Frames vom Anfang wiederholt (im Folgenden "Füllframes" genannt), also etwa (wenn die Folgen 60000 Frames hat und 8 wiederholt werden):
    1, 2, 3,..., 59999, 60000, 1, 2, 3, 4, 5, 6, 7, 8

    Verblüffend war für mich:
    1. Die mpeg-Dateien waren synchron: Swohl die Kombination aus mpv/mp2, als auch mit bbMPEG/TMPGEnc gemuxxte Versionen waren synchron.
    2. Wenn ich mein (oder das von GK) AviSynth-Skript in VDM geladen und das Ende nach "Füllframes" durchsucht habe, war alles wies sein sollte.

    Zuerst hatte ich folgenden Arbeitsablauf zum Rendern:
    - mit DVD2AVI/DGIndex ein d2v-File erstellen
    - in GordianKnot 28.8 / 32.2 laden und rendern (eine genauere Beschreibung der Einstellungen bringt hier Nichts, da es daran nicht lag, auch nicht an B-Frames oder Packed Bitstream)

    Lösungsansätze (alle ohne Erfolg):
    1. GK als Fehlerquelle ausschließen:
    1a) GK32.2 zusätzlich zu 28.8 probiert (insbes. wg. Umstieg auf DGIndex)
    1b) avs in GK erstellt und dann direkt in VirtualDubMod 1.5.10.1 geladen.
    1c) andere VDub/VDubMod probiert.
    2. VDMod als Fehlerquelle ausschließen: Dafür wollte ich AVS2AVI verwenden, das ist aber Unfug, weil im AVS2AVI-Code Teile von VDubMod verwendet werden.

    So danach war ich der Ansicht, daß es nur noch am Codec liegen kann, weil ich alles andere ja ausgeschlossen hatte, insbes. ist DGdecode ja eine Neufassung von mpeg2dec-Versionen, die gerade keine Frames mehr verlieren soll.

    3. Das Ganze mal mit HuffYUV komprimiert. Interessant, weil dieser Codec jeden Frame für sich (ohne Referenzen auf andere Frames) komprimiert. Das Problem bestand auch hier, den Codec konnte ich damit also auch ausschließen -> Da sehe ich: Es gibt hier keinen Verzweifelt-Smiley
    4. Files remuxxed mit bbMPEG/TMPGEnc und entweder direkt in DGIndex oder nochmal durch ProjectX.

    Dann kamen wir dem Problem langsam näher, ab hier funktionierte auch mal ein bischen was::
    5. Statt DGdecode DirectShowSource im avs verwendet um die Datei zu laden: Viele Programm-Abstürze/Hänger, weil ich mehrere MPEG2-Codecs im System habe. Zusammenfassend kann man aber sagen, daß es einmal mit einem grünen Balken am Rand SYNCHRON funktioniert hat, aber daß die ganze Sache auf meinem System nicht stabil genug lief...

    Damit war DGIndex als Fehlerquelle ausgemacht, aber ich konnte sie noch nicht beseitigen, weil die Alternative nicht funktionierte...
    ...bis zu Selurs Idee:
    Nics MPEGDecoder: http://nic.dnsalias.com/MPEGDecoder/MPEGDecoder_YV12.zip

    Damit ging plötzlich alles (bis aufs Deinterlace - damit werd ich wohl mal einen neuen Thread in der Avisynth-Abteilung aufmachen)
    Ich hab hier mal ein Beispielskript angehängt:

    LoadPlugin("C:\Programme\AviSynthPlugins\MPEGDecoder_YV12\MPEGDecoder.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\decomb.dll")
    mpegSource("V:\StarTrekTNG\StarTrekTNG_1x11.mpv")
    FieldDeinterlace(blend=false)
    crop(16,2,694,572)
    LanczosResize(640,480)

    Die Veränderungen zum GK-Skript sind:
    - Nics MPEGDecoder_YV12 statt dgdecode -> mpegSource statt mpeg2source
    - DeInterlace vor Crop

    OK, das wars, damit funktionierts bei mir!

    Vielen Dank an alle, die mir geholfen haben, insbesondere an Selur, der mir noch Alternativen aufgezeigt hat als ich schon aufgegeben hatte

    Und letzte Frage:
    Kann man diesen Thread evtl. zu "DVB- und HDTV-Capturing" verschieben? Da gehört er ja eigentlich hin, weil vermutlich Defekte innerhalb der Frames DGdecode zu diesem Fehlverhalten bewegt haben...

    Trekkie2

    Grüße!
    Trekkie2

  • Ich werd daraus mal was in den Problem-Sticky uebernehmen.


    P.S.: Was waere passiert wenn man pvastrumento statt ProjectX genommen haette? Ist zwar nicht unbedingt die bessere Variante, aber vielleicht haette pvastrumento anders korrigiert, sprich mehr GOPs gedroppt. Vielleicht ganz interessant, denn auch wenn man mehr Material verliert als mit ProjectX, so koennte es ja sein dass sich die Dateien dann wieder via DGIndex und Konsorten korrekt frameserven lassen.

  • Selur: Danke fürs Verschieben! (Naja und fürs Lösen des Problems) :D

    Schlunz: Hey, da hab ichs ja weit gebracht mit meiner Aufnahme...
    PVAstrumento kann ich gar nicht mehr so sicher sagen, ob ichs in dem Zusammenhang mal probiert hab - stimmt. Ich hatte es auf jeden Fall bei einer anderen Aufnahme mal probiert, da war das Ergebnis schlechter als das von ProjectX. PX hatte damals MEHR von dem Stream weggeworfen, daher bin ich da überhaupt nicht mehr drauf gekommen...
    Dumm ist allerdings, daß ich gestern das mpv der 5. Folge gelöscht habe - bei dieser konnte mans am Besten sehen, sonst hätte ich das noch probiert. :heul:

    OK, ich hab bei ein paar neuen Folgen jetzt auch ne Menge Fehler (von PX angezeigt) gehabt, ich kann ja davon noch mal eine mit DGdecode probieren und sehen, obs da auch auftritt. Mist, daß ich da erst jetzt drauf komme, daß ich eine besonders problematische Folge hätte archivieren sollen (wäre etwa eine CD gewesen) :ichdoof:

    Naja, ich find bestimmt nochmal eine Folge, an der man was sieht.

    Trekkie2 :)

    Grüße!
    Trekkie2

  • Hi,
    ich hab ein ähnliches Problem, ich bekomme es einfach nicht hin einen synchronen Stream mit Avisynth zu erzeugen (von DVB). Ich hab schon alles mögliche ausprobiert, auch alles von diesem Thread, aber es klappt einfach nich. Mein Script ist:
    LoadPlugin("d:/programme/avisynth 2.5/plugins/dgdecode.dll")
    LoadPlugin("d:/programme/avisynth 2.5/plugins/mpasource.dll")
    video=mpegsource("k:/KoQ 6x09,6x10.mpv")
    audio=mpasource("k:/KoQ 6x09,6x10.mpa")
    audiodub(video,audio)

    Wenn ich dann in VirtualDub seeke und mir etwas anhöre, ist der Ton falsch, auch beim Schneiden mit VD und danach encoden passiert das, also nicht nur bei der Vorschau.
    Ich hab mich mit Avisynth erst seit kurzem beschäftigt, davor hab ich meine gedemuxxten Videos einfach mit VirtualDub Mod geöffnet, er hat sie geparst, dann hab ich den Audiostream von einer zuvor erzeugten mp3 Datei hinzugefügt und alles war perfekt synchron.
    Habt ihr irgendeine Ahnung woran das liegen kann?

    Achja, der Grund, warum ich nun Avisynth benutzen will, ist der, dass ich 50fps Videos erstellen will mit separatefields und so, aber so weit kommts ja nicht ma, ist ja schon vorher alles asynchron.

    Danke für die Hilfe,
    neo

Jetzt mitmachen!

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