DirectShowSource() und MP4 bei VFR

  • Ich möchte eine MP4 per DirectShowSource() laden, leider klappt das aus einem mir unbekannten Grund nicht.

    ffdshow Beta4 + neuster Haali Media Splitter sind installiert. Mit dem MPC lässt sich das ganze auch ohne Probleme abspielen (WinXPSP2, keine Patches).

    PHP
    LoadPlugin("F:\Programme\AviSynth\plugins\DirectShowSource.dll")
    DirectShowSource("J:\Sample.mp4", logfile="J:\Sample_ds_log.txt", logmask=35)
    Zitat von Fehlermeldung

    DirectShowSource: Could not open as video or audio

    Video returned: "DircetShowSource: couldn't open file J:\Sample.mp4: Schnittschtelle wird nicht unterstützt"

    Audio returned: "DircetShowSource: couldn't open file J:\Sample.mp4: Schnittschtelle wird nicht unterstützt"

    Richtigerweise würde ich den H.264-Stream mit Yamb demuxen und dann mit DGAVC indexieren. Da es sich hier jedoch um VFR handelt, ist das leider nicht möglich.

  • DirectShowSource kann durch Überblenden (wie in ConvertFPS) aber ein CBR-Video erzeugen:

    DirectShowSource (string filename, float "fps", bool "seek", bool "audio", bool "video", bool "convertfps", bool "seekzero", int "timeout", string "pixel_type")

    Nicht schön, aber wenigstens verarbeitbar.

  • DirectShowSource kann durch Überblenden (wie in ConvertFPS) aber ein CBR-Video erzeugen:

    DirectShowSource (string filename, float "fps", bool "seek", bool "audio", bool "video", bool "convertfps", bool "seekzero", int "timeout", string "pixel_type")

    Nicht schön, aber wenigstens verarbeitbar.


    Das habe ich auch vor, jedoch bekomme ich bei "convertfps=23.976" (mit und ohne "fps") folgende Fehlermeldung:

    Zitat

    Script error: the named argument "convertfps" to DirectShowSource had the wrong type (Sample.avs, line 2)

    deaktiviere mal:
    ffdshow->Video decoder configuration->Ausgabe->Nur zu kompatiblen Filtern verbinden


    Hat leider nicht gehofen. :(

    Ich hab gerade auch ein WMV probiert, das klappt ohne Probleme.

  • Zitat


    bekomme ich bei "convertfps=23.976" (mit und ohne "fps") folgende Fehlermeldung



    Convertfps als DirectShowSource Parameter nicht mit Angabe der Framerate sondern true oder false
    also "convertfps=true"

  • "Hat leider nicht gehofen."
    Strange,.. damit geht es bei mir ohne Probleme, wenn Du willst kann ich Dir mal meine ffdshow settings exportieren,... (nutze aktuell die tryouts rev 1324)
    -> bei mir geht ein einfaches DirectShowSource("Pfad zum mp4") ohne Probleme

  • :ichdoof:
    Notiz an mich: Erst lesen, dann denken, nochmals lesen und dann erst handeln.

    Es soll natürlich "fps=23.976, convertfps=true" werden. :redface: Aber zuvor muss ich das Video erstmal überhaupt öffnen können.

    Ich habe die ffdshow-Version Build 1873 (clsid) probiert, leider auch kein Erfolg. Anbei die config-Datei.

    Ich editiere die avs mit AvsP 2.0.2 (dort bekomme ich die Fehlermeldung und keine Vorschau). Wenn ich jedoch mit dem MPC (letzte deutsche Version) mit einem Skript "DirectShowSource("J:\Sample.mp4")" öffne, bekomme ich ein Bild (wenn auch keinen Ton, was allerdings auch nicht so wichtig ist).

    @ Selur: Hast du beim öffnen einer MP4 das Symbol vom Haali im Systray (beim öffnen via AviSynth)? Ich habe keines bei AvsP, beim MPC schon (auch ffdshow).

  • Zuerst kommt der Splitter-Filter, der den Kontainer öffnen kann ...

    MPC könnte das selber; der Haali Media-Splitter deaktiviert allerdings den MPC-internen MP4-Splitter bei der Installation, um selber verwendet zu werden. Das ist auch gut so.

    Und bei DirectShowSource wird nun der Haali Media-Splitter nicht verwendet? ... Welcher dann?

    - Welchen MP4-Splitter verwendet GraphEdit bei "Render Media File"?
    - Welche Splitter meldet GSpot als Kandidaten (MS A/V [1])?

  • Mach am besten ein GRF, und lade den Graph dann per DirectShowSource.

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • MPC könnte das selber; der Haali Media-Splitter deaktiviert allerdings den MPC-internen MP4-Splitter bei der Installation, um selber verwendet zu werden. Das ist auch gut so.


    Meine Einstellungen sind auch so gewählt, das der interne Splitter vom MPC deaktiviert ist, und der Haali verwendet wird (mit allen DS-Splittern die Haali hat, auch AVI).

    Und bei DirectShowSource wird nun der Haali Media-Splitter nicht verwendet? ... Welcher dann?


    Bei der MP4 kommt anscheinend schon der MP4-Splitter von Haali zum Einsatz, jedoch ist da irgendwie "der Wurm drin".

    - Welchen MP4-Splitter verwendet GraphEdit bei "Render Media File"?
    - Welche Splitter meldet GSpot als Kandidaten (MS A/V [1])?


    Siehe Screenshots anbei. Bei GraphEdit wird anscheinend Haali benutzt, siehe Systray-Icon.

    Mach am besten ein GRF, und lade den Graph dann per DirectShowSource.


    Gern. Welche Filter ganz genau? (Ich benutzt GrapEdit zum ersten mal :redface:)


    Zur Not muss ich halt eine komplette Neuinstallation von WinXP machen. :(

  • ffdshow->Video decoder configuration->DirectShow-Optionen->Mehrere ffdshow-Instanzen auf 'nur eine - alle Filter im Graphen überprüfen'
    (und die Einschränkungen ffdshow nur oder nicht verwenden in deaktivieren)


    Vielen Dank Selur, das hat geholfen. :daumen:
    ___

    Ich hab mal nach {36b73880-c2c8-11cf-8b46-00805f6cef60} & {56a868b2-0ad4-11ce-b03a-0020af0ba770} in der Regedit gesucht. Es verweist auf IMedia, das lt. der Suchmaschine meines Vertrauens zu DirectX gehört.

Jetzt mitmachen!

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