DVD Bonusmaterial

  • Liebe Leute,

    im Bonusmaterial von DVDs findet sich immer mal wieder Abschnitte, bei denen längere Audiospuren mit wenigen Frames hinterlegt sind. So sind es bei meinem aktuellen Beispiel 14 Frames für ca. 10 Minuten. Mein Problem ist das die meisten Abspielprogramme sowie Konvertierungsprogramme dies nicht richtig erkennen und eine Gesamtlänge von unter einer Sekunde implizieren. Gibt es eine Möglichkeit, daraus eine MKV mit x264 zu erstellen??? Meine präferiertes Frontend ist StaxRip.
    Detail zum aktuellen Beispiel erstellt mit MediaInfo:

    ID : 224 (0xE0)
    Format : MPEG Video
    Format-Version : Version 2
    Format-Profil : Main@Main
    Format-Einstellungen für BVOP : Nein
    Format-Einstellungen für Matrix : ausgewählt
    Format_Settings_GOP : N=1
    Dauer : 10min
    Bitraten-Modus : variabel
    Bitrate : 47,1 Kbps
    maximale Bitrate : 9 800 Kbps
    Breite : 720 Pixel
    Höhe : 576 Pixel
    Bildseitenverhältnis : 4:3
    Bildwiederholungsrate : 25,000 FPS
    Standard : PAL
    ColorSpace : YUV
    ChromaSubsampling : 4:2:0
    BitDepth/String : 8 bits
    Scantyp : progressiv
    Scanreihenfolge : oberes Feld zuerst
    Bits/(Pixel*Frame) : 0.005
    Stream-Größe : 3,49 MiB (11%)

    also sind wie gesagt 14 Frames!

    Bin für jegliche Hilfe dankbar!

  • Das Problem ist halt die frame Rate die MediaInfo in Kombination mit der frame Anzahl angibt,.. bei 25fps und 14frame ist halt nicht mal Material für ne Sekunde da,...

    Würde spontan:
    1. als erstes mal antesten, was makeMKV aus so einer DVD macht.
    2. mal gucken ob MPlayer so eine PGC richtig abspielt, wenn MPlayer es richtig abspielt sollte das Konvertieren auch gehen,..

    Cu Selur

  • Ich verstehe nicht dein Problem. Woltest du 14 Frames umkonvertieren? Was für ein Extra ist das was unter eine Sekunde hat? PAL DVDs haben eine GOP-Länge von maximal 15 Frames, falls das dir weiterhilft.
    Und lieber ein Snapshot von DVD-fähige Software (IFOedit, PGCedit, rippers) als ein wertloses MediaInfo-Bild.

  • Na ist doch ganz logisch, Ghitulescu:

    Das "Extra" ist eine Still-Frame-Show. Es gibt ein paar einzelne I-Frames und eine Reihe Nav-Units, die deren Anzeige auf jeweils ein paar Sekunden hinauszögern.

    Für die Konvertierung solcher Bildergalerien gibt es zwei Möglichkeiten: a) ein Programm, das die Verzögerungen pro Frame übernimmt (also reziprok 0,0x fps statt 25,0 fps erzeugt); b) ein Programm, das zwar bei 25,0 fps bleibt, dafür aber die Standbilder so oft wiederholt, dass sie zu einem Video mit passender Anzeigedauer werden – der deutlich ineffizientere, aber eventuell kompatiblere Weg, vor allem für Kopie-Formate, die wiederum nur wenige diskrete Frameraten unterstützen.

  • Vielen Dank für den schnellen Reply!

    Meine Beschreibung ist zugegeben nicht ausreichend, aber die Annahme von LigH ist richtig. Auch sind mir IFOedit, PGCedit sowie rippers zumindest noch nicht bekannt. Mein Wissen ist auf dem auf dem Gebiet noch sehr ausbaufähig, die Boardeinordung Jungspund triffts wohl ganz gut.

    Es handelt in der Tat um eine Art Diaschau, welche mit einer Audiospur hinterlegt ist. Diese ist interaktiv, lässt per Klick aus dem DVD-Menu das springen zum nächsten Bild zu. Folglich muss es eine Verbindung zwischen den einzelnen Frames und der zugehörigen Stelle in der Tonspur geben.
    Mit PgcDemux konnte ich eine VOB-Datei erstellen, mit allen Bilder welche jeweils ein Frame darstellen und der kompletten Tonspur (ca.10 min). Dafür habe ich die PGC Domain Menus verwendet und die Länge wird hier noch korrekt angezeigt (LU 1 # 12 --> 00:10:21.24). Nur geht hierbei anscheint die Information über die zeitlichen Zusammenhänge verloren, bzw. es wird von den von mir verwendeten Programmen nicht verstanden.

    Habe Gestern die von Selur vorgeschlagen Programme getestet, welche für mich neu und sehr interessant sind!

    makeMKV erkennt leider nur die Videodaten, welche bei PgcDemux unter der Domain Titles zu finden sind und es sich wohl um reguläre Videodaten handelt. Diese bekomme ich verarbeitet!

    Der MPlayer springt beim Starten der IFO-Datei automatisch in das DVD-Menu, von dem aus sich der interaktive Inhalt problemlos abspielen lässt. Bei der mit dem PcgDemux erstellten Vob-Datei werden wohl nicht sichtbar die paar Frames am Anfang abgespielt und man hört dann die komplette Audiospur. Es fehlt dann offensichtlich die Information, wann und wie lange die Frames angezeigt werden sollen.

    lg kight

  • Na ist doch ganz logisch, Ghitulescu:

    Das "Extra" ist eine Still-Frame-Show. Es gibt ein paar einzelne I-Frames und eine Reihe Nav-Units, die deren Anzeige auf jeweils ein paar Sekunden hinauszögern.

    Für die Konvertierung solcher Bildergalerien gibt es zwei Möglichkeiten: a) ein Programm, das die Verzögerungen pro Frame übernimmt (also reziprok 0,0x fps statt 25,0 fps erzeugt); b) ein Programm, das zwar bei 25,0 fps bleibt, dafür aber die Standbilder so oft wiederholt, dass sie zu einem Video mit passender Anzeigedauer werden – der deutlich ineffizientere, aber eventuell kompatiblere Weg, vor allem für Kopie-Formate, die wiederum nur wenige diskrete Frameraten unterstützen.

    Denke, dass trotz der Ineffizienz Möglichkeit b) einfacher ist. Zum einen sind die Verzögerungen unter Umständen nicht konstant und es wäre wahrscheinlich kompatibler mit den meisten Abspielgeräten.

  • Dann könntest du versuchen, mit VLC oder mplayer2 bzw. mencoder eine Konvertierung hinzukriegen, auch wenn das Zusammenstellen der Kommandozeile für letztere sicher etwas aufwändig wird, also das Einarbeiten in die "Philosophie" der Optionen. Eine weitere Alternative könnte sein, eine GRF-Datei (ohne Renderer-Ausgänge) zu erstellen, wenn das Abspielen mit DirectShow-Filtern in GraphStudio funktioniert, und die dann mit DirectShowSource durch AviSynth in einen Encoder weiterleiten.

    Alles Theorie, zum Testen fehlt mir hier Material. Und wer weiß, ob es vielleicht noch Spezialtools gibt, die eben gerade das können...

  • Hallo,

    da die Aufnahme mit dem VCL Player nicht auf Anhieb funktioniert hat und ich mich erst mal in die Funktionsweise des Programms einarbeiten müsste, habe ich eine weitere Idee.

    Würde es nicht zu besseren Ergebnissen führen, wenn man das Datenmaterial als das betrachtet was es eigentlich ist, eine Diashow und von Hand diese nachbaut?

    Dazu müssten bloß die Frames in Einzelbilder gespeichert und die Zwischenzeiten erfasst werden und diese wieder mit einem geeigneten Programm vor die Audiospuren gelegt werden. Da es sich jeweils um 10-15 Bilder handelt wäre der Aufwand überschaubar.

    Welches Programm wäre das dazu geeignetste? Gibt es welche bei denen sich die Zwischenzeiten per Hand oder noch besser Excel-Import eintragen lassen und welches x264 verwendet???

    Grüße knight

  • So derart manuell würde es vielleicht am einfachsten direkt per AviSynth-Skriptprogrammierung gehen. Das wichtigste sind dann hier ImageSource und Loop. Audio wird danach unverändert gemultiplext, geht nicht mit durch AviSynth.

    Wer Spaß hat, kann dann auch noch Blenden (Fade{In|Out|IO}; Dissolve als Crossfade) oder sonstige Übergangs-Effekte verwenden (Plugin "TransAll").

  • Hallo,

    da ich ein absoluter Newbie in Sachen Programmierung bin, dauert es alles ein wenig mich einzuarbeiten.

    Meine Idee ist jetzt die Videodatei zu nehmen und die Anzeigedauer der einzelnen Frames zu verlängern, diese also zu vervielfachen. Folglich müsste das Skript doch wie folgend aussehen:

    MPEG2Source("C:\DVD Data\12\VideoFile.m2v")
    ConvertToYV12()
    Loop(100, 1, 1)
    Loop(100, 2, 2)
    Loop(100, 3, 3)
    Loop(100, 4, 4)
    …..

    Verwende AvsPmod um das Skript zu schreiben. Allerdings gibt dieses mir immer als Fehlermeldung heraus:

    Script error: there is no function named “MPEG2Source”

    Die wird aber im Dropdown-Menü angegeben. Woran liegt dies???

    Lg knight

  • Diese Funktion stammt üblicherweise aus dem Paket "DGMPGDec" von Donald Graft. Die zu ladende Plugin-DLL wäre die "DGDecode.dll". Manche Konvertiertools haben die selber mit dabei.

    Die Funktion MPEG2Source() lädt keine *.m2v-Videodateien direkt, sondern eine *.d2v-Indexdatei, die mit Hilfe des Programms "DGIndex.exe" erzeugt werden muss.

    Man sollte darauf achten, nicht mehrere Versionen in verschiedenen Verzeichnissen zu haben, die dann vielleicht nicht zueinender kompatibel sind, denn jede *.d2v-Indexdatei enthält einen Eintrag, welche "Generation" der Plugin-DLL benötigt wird.

  • Aha!

    Konnte eine *.d2v-Idexdatei erstellen und die dll-Datei einbinden.

    Gefühlt dem Ziel ganz nahe, musste ich feststellen, das ich mit der Loop-Funktion nicht das erwünschte Ergebnis erzielen kann.

    In der Sourcefile befinden sich alle Frames deren Anzeigezeit verlängert werden soll hinter einander. Wenn ich also mit Loop das erste Frame vervielfache, wird der Rest der Frames angezeigt, bevor ich im 2. Loop das 2. Frame vervielfachen kann.

    Es soll aber das erste Frame x-Mal, das zweite x-Mal und so weiter... angezeigt werden.

    Des Weiteren fehl mir noch eine Funktion bestimmte Frames ganz auszublenden, sind nämlich 2 überflüssige Frames in der Ausgangsdatei.

    Schon mal vielen Dank soweit, hätte anfangs nicht gedacht, dass ich wegen dem Problem mit dem Programmieren beginne, wenn auch auf einem sehr niedrigen Level!!!

  • Zitat

    In der Sourcefile befinden sich alle Frames deren Anzeigezeit verlängert werden soll hinter einander.

    in einem Videobearb.Programm auf die TL und da "Zeit neuzuordnen" auswählen.....klappt auch nicht?

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • in einem Videobearb.Programm auf die TL und da "Zeit neuzuordnen" auswählen.....klappt auch nicht?

    Funktioniert leider nicht, da die Anzeigedauer der einzelnen Frames ist nicht konstant sein soll.


    Wenn es nicht anders geht, muss ich die Videodatei doch in einzelne Bilder zerlegen. Dachte es wäre so eleganter und im Ergebnis besser.

  • Zitat

    muss ich die Videodatei doch in einzelne Bilder zerlegen.


    oder auf die Timeline und da dann bei jedem Clipteil eine Markierung setzen...dann jedes Frame/Clip in der Länge anpassen.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Dann eben mit Clip-Variablen arbeiten. Trim() schneidet einen Bereich aus, Loop() wiederholt den Bereich zusätzlich zu sich (also einmal ist er schon da und bleibt auch drin).

    PHP
    v = MPEG2Source("*.d2v")
    c01 = v.Trim(1, 1).Loop(99) # 100× Bild Nr. 1 = das zweite Bild; das erste Bild wäre Nr. 0
    c02 = v.Trim(2, 2).Loop(49) # 50× Bild Nr. 2
    c03 = v.Trim(3, 3).Loop(74) # 75× Bild Nr. 3
    return c01+c02+c03 # angenommen, dass da eh kein Ton drunter ist
  • Hab es in der Zwischenzeit so geloest:

    Code:

    Die Trim-Funktion ist wohl eleganter. Werde das noch einarbeiten...

    Sieht aber gut aus soweit, scheit zu funktionieren. Teste es nochmals und melde mich im Anschluss.

Jetzt mitmachen!

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