VRO aus Panasonic-DMR weiterverarbeiten

  • Ja, aber DirectShowSource ist das Teufelchen. Solange man noch Alternativen in Form nativer AviSynth-Source-Plugins hat, sollte man erstmal die anderen versuchen.


    Da fielen mir zunächst DGMPGDec (MPEG2Source kann direkt in YUY2 konvertieren) und NicAC3Source ein (die Tonspur sollte DGIndex sowohl aus PS wie TS beim Indexieren demultiplexen können), sowie FFMS2 (FFVideo/AudioSource) und L-SMASH Works (LwLibavVideo/AudioSource) jeweils mit ConvertToYUY2(interlaced=true).


    Außerdem hat VirtualDub FilterMod ein ffmpeg-Input-Plugin.

  • Interessante Stapelverarbeitung!
    ...im Prinzip nutzt du ja aber auch meihdfs.exe - das mit der Benennung brauche ich ja in meinem Fall nicht unbedingt...


    Ich hatte mir bei allen VHS Überspielungen notiert, zu welchem Datum/Zeit ich welche Kassette überspielt hatte. Jede Kassette war nach dem 2. Script ein einzelnes VOB-File (auch bei 5 Stunden kein Problem) mit sortiertem Datum/Zeit als Namen und konnte so eindeutig wieder zugeordnet werden.

    Was mich allerdings wundert ist, dass der EH595 eine SATA-Platte hat! Der EH495 ist doch eigentlich 100% baugleich, nur mit kleinerer 160GB-Platte statt 250GB, dachte ich?!?


    Das Wundert mich auch. Also mein EH52 und EH56 haben IDE-Platten, der EH595 aber eine SATA-Platte.

    Wie zum Geier kriege ich die "VRO-4:2:0-interlaced-MPEG-AC3" in VDub direkt als 4:2:2 + PCM korrekt gelesen? AVISynth (DirectShowSource)?


    - DGIndex.exe und danach DGMPGDec (MPEG2Source) funktioniert perfekt und ist extrem schnell (rendert mit bis zu 500 fps auf meinem 7 Jahre alten PC)
    - FFMS2 und L-SMASH haben Probleme beim Video, Audio funktioniert aber gut.
    -->> Deshalb DGMPGDec (MPEG2Source) für das Video und FFMS2 (FFAudioSource) für den Ton verwenden, hier ein Beispiel AVS:

  • - FFMS2 und L-SMASH haben Probleme beim Video, Audio funktioniert aber gut.


    Hast du dazu Details? Liegt es eher am Container, oder am Umgang mit MPEG2-Video?


    Vielleicht wäre vor der Verwendung von FFMS2 bzw. L-SMASH Works ein Umverpacken nach MKV mit mkvmerge nützlich, falls es nur im den Container geht. Ich wüsste ohne MediaInfo-Analyse nicht genau, was VRO ist; bei VOB wäre bekannt, dass die libav-Plugins mit für DVD-Video typischen 1-GB-Segmenten nicht umgehen können, immer nur eine zusammenhängende Datei verarbeiten.


    MPEG2Source könnte man vielleicht mit "upConv=1" verwenden. Unter AviSynth+ könnte man noch über YV16 nachdenken, wenn einem YUY2 zu "oldschool" ist ... ;)

  • Hast du dazu Details? Liegt es eher am Container, oder am Umgang mit MPEG2-Video?


    Vielleicht wäre vor der Verwendung von FFMS2 bzw. L-SMASH Works ein Umverpacken nach MKV mit mkvmerge nützlich


    Das war auch mein erster Versuch die Probleme zu beheben, hat aber nur wenig Besserung gebracht. Mein AVS Script war aber deutlich umfangreicher (QTGMC, MDegrain2, AddGrainC ...), weil ich die Aufnahmen gleich nach HD 720p50 gewandelt habe. Bei FFMS2 gab es manchmal abstürze und es traten nach QTGMC vereinzelt seltsame Geiterbilder auf. L-SMASH ist sehr oft abgestürzt und war gar nicht zu gebrauchen. Bin dann zum alten DGMPGDec gewechselt und alle Probleme waren damit gelöst. Auch das Erstellen des Index mit DGIndex.exe ging auch viel schneller als das Umpacken nach MKV.

    Ich wüsste ohne MediaInfo-Analyse nicht genau, was VRO ist; bei VOB wäre bekannt, dass die libav-Plugins mit für DVD-Video typischen 1-GB-Segmenten nicht umgehen können, immer nur eine zusammenhängende Datei verarbeiten.


    Soweit ich mich erinnern kann, sind die VRO-Dateien große unzerstückelte VOB-Dateien. Ich habe die aber immer mit dem dvd-vr tool nach VOB gewandelt und mir deshalb nicht genauer angesehen.

    MPEG2Source könnte man vielleicht mit "upConv=1" verwenden. Unter AviSynth+ könnte man noch über YV16 nachdenken, wenn einem YUY2 zu "oldschool" ist ... ;)

    Nicht hauen, aber ich bin am Ende bei folgendem gelandet:

    Code
    1. AssumeTFF()
    2. ConvertToYV12(interlaced=true, matrix="PC.709")
    3. ColorMatrix(mode="Rec.601->Rec.709")
  • OT: Ich wollte damit vom SD Farbraum (DVD) in den HD Farbraum wechseln, um es mit x264 als HD 720p zu komprimieren. Vom Ergebnis auf einem HD TV war ich jedenfalls zufrieden und die Farben passten von allen Media-Playern recht gut. Oder gibt es dafür bessere Möglichkeiten?

  • Nun ja ... das wäre so ein Thema, für das ich auch mal ein übersichtliches Diagramm gebrauchen könnte.


    Die meisten DVD-Inhalte (mit SD-Auflösung halt) sollten eigentlich mit Rec.601-Colorimetrie encodiert worden sein. Manche Decoder gehen allein aufgrund der Auflösung davon aus. Aber einige DVDs wurden auch mal mit Rec.709-Colorimetrie produziert. Die Kombination aus MPEG2Source(info=3) und ColorMatrix(hints=true) sollte eigentlich dafür sorgen, dass "versehentlich" (oder absichtlich?) abweichend encodiertes SD-Material auf die für SD-Material übliche Colorimetrie Rec.601 korrigiert wird – glaube ich, falls ich das richtig verstanden habe.


    Wer nun ein Upscale auf HD-Auflösung durchführt, der kann entweder auf HD-übliches Rec.709 konvertieren, oder er lässt es wie vorliegend bei Rec.601 und sagt dann hinterher dem Encoder (z.B. x264 per Kommandozeile): Mein Material hat aber noch Colorimetrie Rec.601, vermerk das mal im Video.


    Ausführlichere Gedanken hierzu passen aber eigentlich nicht mehr in dieses Thema, glaube ich. :rolleyes_:

  • Ei ei ei...dachte mir fast, dass die Frage "VRO-MPEG in VDub öffnen" ne Lawine lostritt...
    Ich versteh nur noch Bahnhof ehlich gesagt...


    Ausgangslage: Zu meiner Schande muss ich gestehen, dass ich nur noch die VROs habe - alles andere ist weg (DMR-Platte auch gelöscht).


    Mit "DirectShowSource" direkt auf die VRO zugreifen geht schonmal nicht - VDub sagt "No Video Stream"...


    Was muss ich eingeben?
    "Ganz simples" AVS-Script - ich will NUR die VRO in VDub mit Video als YUY2 oder YV24 und Audio als PCM öffnen...


    Hoffe nicht, dass man dazu studieren muss...:(
    (Vielleicht gibt's dazu ein Lehrgang an der "VHS" :ani_lol:)

  • Ich würde zuerst versuchen, mit DGIndex.exe aus dem Paket DGMPGDec (DGDecode.dll) eine d2v-Indexdatei zu generieren (also aus einer 0002.VRO eine 0002.d2v). Wenn das klappt, sollte man zunächst mal das Video öffnen können:


    PHP
    1. LoadPlugin("DGDecode.dll")
    2. # Minimum:
    3. MPEG2Source("0002.d2v").ConvertToYUY2(interlaced=true)
    4. # erweitert:
    5. # MPEG2Source("0002.d2v", idct=4, iPP=true, moderate_h=40, moderate_v=40, cpu=6, upConv=1, info=3)
    6. # LoadPlugin("ColorMatrix.dll")
    7. # ColorMatrix(hints=true)


    Wenn so etwas nicht klappt, bitte reichlich Details liefern, dann schauen wir nach Alternativen.

  • Wo muss ich das Script denn reinkopieren? In eine AVS?


    Wo bekomme ich DGdecode.dll und DGIndex.exe her?


    Oder hab ich nur grade nen totales Brett vorm Kopf? (Bin in Gedanken grade ganz woanders - desegen will ich den Kram jetzt auch einfach fertig kriegen ;) )

  • *klopf klopf*


    Schau mal, welche AviSynth-Wiki-Seite ich da verlinkt habe. Und dort dann oben rechts nach "Download" in der Tabelle. Oder du schaust, was MeGUI oder ein anderer Konverter so mitbringt.


    Und das AviSynth-Skript ist im Grunde schon fast ein komplettes; du musst nur Pfadangaben und Dateinamen anpassen.

  • Hab echt nen Brett vorm Kopf...


    Habe deinen Link zu AviSynth-Wiki geöffnet, und dort dann den Download-Link. Da gibt es aber nur den SourceCode, und einen weiteren Link zu den Binaries: http://hank315.nl/

    dfcskdpok


    Das ist dann aber ein fertiger "HC Encoder" - in der ZIP dazu gibt's einen Ordner "DGDecode", da sind aber nur 7 DLLs drin, mit denen ich wohl jetzt nichts anfangen kann...


    Mann ist das alles kompliziert!
    Jetzt muss ich noch extra einen MPEG2-Decoder für AviSynth komplieren oder wie?


    Ist doch eigentlich alles da...ffdshow / DirectShow / Vfw...


    (Deswegen wollte ich "DirectShowSource" nehmen! Aber nee...funzt nich...)


    Die Ironie des ganzen: Eigentlich kann VDub die VRO ja direkt öffnen...:rolleyes_:
    (Nur AC3 klappt nich - obwohl alles in ffdshow (32- und 64-Bit) aktiviert ist. Den AC3-ACM-Codec habe ich glaube ich AUCH installiert...)

  • Was für'n Sourcecode?!


    http://avisynth.nl/index.php/DGDecode



    dgmpgdec158.zip


    Code
    1. 05.11.2009 09:39 1.129 Bugs_Limitations.txt10.05.2002 16:55 18.332 COPYING.txt06.03.2010 09:43 221.262 [B][COLOR='#800000']DGDecode.dll[/COLOR][/B]06.03.2010 09:44 27.824 DGDecodeManual.html06.03.2010 09:45 655.360 [B][COLOR='#0000CD']DGIndex.exe[/COLOR][/B]06.03.2010 09:45 108.595 DGIndexManual.html06.03.2010 09:47 2.864 DGVfapi.txt06.03.2010 09:46 61.440 DGVfapi.vfp06.03.2010 10:43 44.801 FullChanges.html23.02.2006 01:06 6.739 QuickStart.html 10 Datei(en), 1.148.346 Bytes


    dgmpgdec158_SSE.zip ... okay, hier sind Quellen mit dabei. Auch. Aber nicht nur.


  • Okay...und *wenn* ich sie dorthin kopiere, muss man gar keinen Pfad angeben (nur "LoadPlugin("DGDecode.dll")"...


    Ich "indexe" gerade erstmal die VROs durch (mit dem GUI - VRO öffnen, Projekt speichern) - dann schauen wir weiter...


    Sieht dann so aus:




    Das kommt raus:



  • Wenn die Datei im Plugins-Autoload-Verzeichnis ist, muss man LoadPlugin() überhaupt nicht verwenden. Dann steht MPEG2Source() automatisch zur Verfügung.


    Bei der Indexierung wird die Tonspur gleich mit extrahiert, die kannst du dann über NicAC3Source (oder LwLibavAudioSource oder FFAudioSource) dazu laden und mit AudioDub zum Video-Clip mischen.

  • Okay...jetzt verstehe ich das Prinzip allmählich...


    Alleine DAS:

    Zitat

    MPEG2Source("0002.d2v").ConvertToYUY2(interlaced=true)


    Lädt mir nur das Video als YUY2 in VirtualDub. Soweit ich es erkennen kann mit korrektem Interlace.


    Wozu ist Parameter "idct=4"?
    Wozu ist Parameter "iPP=true"?
    Wozu ist Parameter "moderat_h=40"?
    Wozu ist Parameter "moderat_v=40"?
    Wozu ist Parameter "CPU=6"?
    Wozu ist Parameter "upConv=1"?
    Wozu ist Parameter "info=3"?


    Wozu ist "ColorMatrix"?
    Wozu der Parameter "hints=true"?


    Welches Audio-Tool soll ich nen downloaden?

    Zitat

    NicAC3Source (oder LwLibavAudioSource oder FFAudioSource)


    Kann das Audio statt aus der separaten AC3-Spur auch aus dem Original-VRO gezogen werden, oder muss es die Separate AC3-Datei sein? Aus der dv2 vermutlich nicht...



    GOOT ist das umständlich...!
    Dachte AVISynth hätte ein Kommando, das nahezu alles direkt "frisst" und Audio und Video aus dem Original-File zieht...


  • Wenn ich jetzt nicht wüsste, dass du bereits eher geringe Englischkenntnisse erwähnt hattest, hätte ich jetzt :rtfm: denn im AviSynth-Wiki-Beitrag zu DGDecode ist alles ausführlich dokumentiert...


    • "idct=4": Es gibt verschiedene Algorithmen zur "inversen Diskreten Cosinus-Transformation". Manche sind schneller, dafür ein wenig ungenau. Wenn man diesen Parameter weglässt, wird die Methode verwendet, die in DGIndex.exe eingestellt war und in der d2v-Datei steht.
    • "iPP=true": interlaced Post Processing (Block- und Ring-Filter sollen auf Halbbild-Ebene arbeiten)
    • "moderat_h=40" / "moderat_v=40": steuern die Empfindlichkeit des Blockfilters
    • "CPU=6": Block- und Ring-Filter in alle Richtungen aktivieren
    • "upConv=1": Lässt MPEG2Source das Ergebnis direkt als YUY2 ausgeben (ansonsten wäre es YV12, und du müsstest es noch zusätzlich konvertieren)
    • "info=3" + ColorMatrix(hints=true): Habe ich in #27 erwähnt


    Kann das Audio statt aus der separaten AC3-Spur auch aus dem Original-VRO gezogen werden, oder muss es die Separate AC3-Datei sein?


    Wie Radio Eriwan sagt: "Im Prinzip ja..." – wenn du ein Plugin verwendest, das aus dem VRO-Container heraus Tonspuren lesen kann. NicSource kann nur rohe Tonspuren lesen. FFMS2 oder L-SMASH Works können auch in MPEG-PS/TS lesen.


    GOOT ist das umständlich...!
    Dachte AVISynth hätte ein Kommando, das nahezu alles direkt "frisst" und Audio und Video aus dem Original-File zieht...


    Auf keinen Fall! Dafür gibt es einfach zu viele zu unterschiedliche Anwendungsfälle. Unmöglich, dass ein Plugin gleich gut geeignet für sämtliche tausende Mediaformate dieser Welt ist. Wer soll das denn programmiert haben?