VirtualDub und h264?

  • Hallo,
    ich habe eine MKV-Datei mit MKVtoolnix (MKVextractGUI) entpackt.

    Erhalten habe ich:
    Videospur.h264
    Audiospur1.aac
    Audiospur2.aac
    Untertitel.sub
    Untertitel.idx


    Jetzt möchte ich mit VirtualDub eine AVI erstellen, die die Videospur und beide Audiospuren enthält.
    Nur wenn ich die "Videospur.h264" mit VDub öffne, bekomme ich diese Fehlermeldung:
    "The file D:\Videospur.h264 is of an unknown or unsupported file type."
    Und Virtual Dub bricht ab ;(

    Hat vielleicht jemand einen Tipp, wie ich die Videodatei mit Virtual Dub öffnen kann?


    Gruß
    Wieso

    Einmal editiert, zuletzt von Wieso|oseiW (28. März 2009 um 22:13)

  • Wozu möchtest du das machen?
    Der alte avi-container ist nicht gerade gut für das moderne h264 geeignet.

    Falls du es neu codieren möchtest (zB mit Xvid oä) setz ein avisynthscript dazwischen.
    zB so:

    Code
    DirectShowSource("test.mkv")


    Dann öffnet es auch mit VDub

  • hier ein paar Anmerkungen zum Vorhaben:
    1. aac Audio wird im AviContainer probleme machen, da es soweit mir bekannt keine Methode gibt diese in den Avi Container zu packen, so dass späteres Playback mit Springen im Container möglich ist.
    -> die Audiostreams müssten neuencoded werden
    2. den raw avc Stream kann man mit avc2avi in einen avi container packen
    3. würde den Stream nicht demuxen, sondern eher versuchen ob man die Inputdatei nicht direkt mit MEncoder oder FFmpeg in ein Avi umkonvertieren kann, so dass
    a. der videostream nur durchgereicht wird
    b. die Audiostreams reencoded werden
    5. Wenn man den Videostream reencoden will und über Avisynth geht sollte man DGAVCIndex&AVCSource verwenden.

    Cu Selr

    Ps.: Die Aussage "Der alte avi-container ist nicht gerade gut für das moderne h264 geeignet." ist nicht falsch. MPEG-4 AVC ist jedoch auch nicht mehr oder weniger für den .avi Container geeignet als MPEG-4 ASP. ;)

  • @ Pittiplatsch:

    Eifere deinem Avatar nicht allzu sehr nach! Du musst nicht unbedingt so dumme Fehler machen wie der kleine.

    :so-nicht: DirectShowSource zu empfehlen - muss ja nun wirklich nicht sein. Schließlich existiert doch eine H.264/AVC-Rohdaten-Datei (Videospur.h264). Dafür gibt es doch AVCSource. Oder eventuell sogar Methoden, die eine Recodierung gar nicht erst erfordern. :ja:

  • Besten Dank,
    dann werde ichs mal versuchen.


    Oder würdet ihr vielleicht einen anderen Container empfehlen, der besser geeignet ist?
    Benötigt werden eigentlich nur die Videospur und eine Audiospur.

  • Zitat

    Oder würdet ihr vielleicht einen anderen Container empfehlen, der besser geeignet ist?

    .mp4 ist der für MPEG-4 Material entwickelte Container,... ;)
    -> in gdsmux (kommtmit Haalis Media Splitter) die Datei laden, alles außer audio und video deaktivieren, als Ausgabe eine Datei mit .mp4 Endung nehmen und speichern

    Nur mal so gefragt: Wenn es dir nicht auf den Container ankommt, warum dann nicht bei mkv bleiben?

  • @ Pittiplatsch:

    Eifere deinem Avatar nicht allzu sehr nach! Du musst nicht unbedingt so dumme Fehler machen wie der kleine.

    :so-nicht: DirectShowSource zu empfehlen - muss ja nun wirklich nicht sein. Schließlich existiert doch eine H.264/AVC-Rohdaten-Datei (Videospur.h264). Dafür gibt es doch AVCSource. Oder eventuell sogar Methoden, die eine Recodierung gar nicht erst erfordern. :ja:

    Natürlich ist AVCSource die elegantere Möglichkeit, erfordert wiederum aber eine weitere Beschäftigung mit dem Thema.
    Da der OP nicht gesagt hat, was sein eigentliches Ziel ist, wollte ich erst mal nicht weiter in die Tiefe gehen.

    platschquatsch :D

  • Hallo !
    #
    Eben !

    Wer will denn schon das letzte an Qualität?
    Besser schnell und schmutzig in AVI mit DIVx oder XVID und fertig. ;)

    Es grüßt der Biba-Butzel-Mann ! :winken:


  • Nur mal so gefragt: Wenn es dir nicht auf den Container ankommt, warum dann nicht bei mkv bleiben?


    Danke nochmal :ja:

    Ich möchte das Video auf einer Xbox360 wiedergeben.
    Und das Teil will ums Verrecken keine MKV anzeigen/öffnen.

    Deshalb habe ich einen einfachen und verlustfreien Weg gesucht, um das Video zum Laufen zu bringen.


    Update:
    Eben wollte ich die Videospur in gdsmux importieren.
    Die Datei wird nach dem öffnen aber nicht unter Input angezeigt:
    [Blockierte Grafik: http://img26.imageshack.us/img26/9649/bildk.th.png]

    Mache ich was falsch?

    Einmal editiert, zuletzt von Wieso|oseiW (28. März 2009 um 02:24)

  • Spielt das xböxchen eigentlich noch was anderes ab als wmv?

    edit: hab mal gesuchelt und hier steht alles drin:
    http://support.xbox.com/support/en/us/…laybackfaq.aspx

    Sie sollte also auch h264 zeigen. allerdings nur in Verbindung mit 2.0 aac Audio im mp4 container.
    Du könntest also den Videostream so lassen und nur Audio umwandeln (MeGUI, BeHappy, LameXP)
    Und anschließend mit Yamp als .mp4 muxen

    Einmal editiert, zuletzt von Pittiplatsch (28. März 2009 um 16:29)

  • (-> Haalis Media Splitter + aktuelle ffdshow Version von https://localhost/www.ffdshow.info installieren)


    HMS und ffdshow waren aber schon installiert.
    Brauche ich vielleicht Administratorenrechte, um das Programm fehlerfrei auszuführen?

    Update:
    Wenn ich als Administrator angemeldet bin, passiert auch nichts :(

    Update2:
    Oder sollte ich von ffdshow eine neue SVN build installieren?
    Habe nämlich nur die neuste Stable-Version drauf.


    Pittiplatsch
    Dankeschön Pittiplatsch,
    Dann werde ich das als nächstes testen.

    2 Mal editiert, zuletzt von Wieso|oseiW (28. März 2009 um 17:43)

  • Ich habe eben nochmal den MatroskaSplitter installiert.
    Und wenn ich jetzt auf "Add source..." klicke und die Videospur.h264 öffne, passiert endlich was.

    Jetzt bekomme ich nämlich eine Fehlermeldung:
    "Cant't open D:\mkvtest\Videospur.h264: Es wurden keine Zwischenfilter für die Herstellung der Verbindung gefunden. (80040217)"


    Könntet ihr mir bitte noch sagen, welche Zwischenfilter benötigt werden und wie ich die bei ffdshow aktiviere/einfüge?

  • Nun ja - H.264-Rohdaten sind ja schon einzeln, die werden nicht weiter gesplittet. Statt dessen wird es nun keinen Quellfilter geben, der diese Rohdaten erkennt.

    H.264 in Matroska erkennt der Matroska-Splitter. H.264 alleine sollte man jedoch von Programmen verarbeiten lassen, die sich damit speziell auskennen. Nicht unbedingt über DirectShow. Also wohl MP4Box, wenn man MP4-Dateien erzeugen will. Oder DGAVCIndex und DGAVCDecode.dll, wenn man es in AviSynth decodieren will.
    __

    DirectShow-Media-Player benötigen

    a) einen Quellfilter, der die Datei erkennt und versteht
    b) falls nötig: einen Splitterfilter, der multiplexte Dateien in die Bestandteile zerlegen kann
    c) Decoderfilter, die den Inhalt abspielen können
    d) Renderer, die das Ergebnis mit den Wiedergabegeräten anzeigen

    ffdshow gehört zur Kategorie c); die Fehlermeldung jedoch weist auf Probleme bei Stufe a) hin.

Jetzt mitmachen!

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