Quicktime kann keine x264 codierten Filme anzeigen

  • die einfachste lösung wäre natürlich wenn qt endlich h264 in einem ausreichenden maße unterstützen würde ;)


    Wenn 'pasp' doch Teil des MPEG Standards wird, wäre es ja ausreichend diesen Wert zu verwenden. Prinzipiell verstehe ich auch wie das funktioniert, nur fällt es mir schwer das auf mp4box zu übertragen. Ich habe mir den Quellcode mal näher angesehen; ich glaube nicht, dass es ein großer Aufwand wäre das zu implementieren. Mir fehlt bisher leider noch der Durchblick bei dieser doch etwas komplizierten Software :)
    Die Codebeispiele aus dem von Drachir verlinkten Dokument sehen nach C++ aus, es wird z.B. die Klasse "PixelAspectRatioBox" definiert. mp4box ist aber C und kennt keine Klassen. Wenn "pasp" nur als float oder sowas gespeichert würde, dann könnte ich es vielleicht selbst hinbekommen, nur leider ist "pasp" vom Typ "PixelAspectRatioBox", der wiederum so aussieht:

    Code
    class PixelAspectRatioBox extends Box(‘pasp’){
    unsigned int(32) hSpacing;
    unsigned int(32) vSpacing;
    }


    Keine Ahnung wie man das dann in mp4box implementiert.

    Alles andere wie "clap" könnte man auch fürs Erste weglassen, da die Eigenschaften sowieso optional sind. Somit muss man lediglich sowas wie die Klasse "PixelAspectRatioBox" implementieren, und "VisualSampleEntry" um die Eigenschaft "pasp" vom Typ "PixelAspectRatioBox" erweitern.

    Dann muss man ein "PixelAspectRatioBox" Objekt erzeugen und die Eigenschaften "hSpacing" und "vSpacing" mit entsprechenden Werten (PAR) belegen. Das muss man dann nur noch an geeigneten Stelle (die ich allerdings noch nicht gefunden habe) in der "pasp" Eigenschaft von "VisualSampleEntry" speichern, und theoretisch müsste es dann auch in Quicktime 7.1 mit anamorphen MP4 Videos funktionieren, ganz ohne Transformations-Matrix...

    mp4box verwendet halt an Stelle der Klassen Structs und ggfs. Konstanten, aber wie ich das jetzt genau übertrage habe ich leider noch nicht herausfinden können.

  • ...
    Die Codebeispiele aus dem von Drachir verlinkten Dokument sehen nach C++ aus,...


    In 14496-* wird zur Beschreibung des Standards eine an C++/Java angelehnte Syntax verwendet.

    Zitat von 14496-1(Systems)


    8 Syntactic Description Language
    Introduction
    This subclause describes the mechanism with which bitstream syntax is documented in ISO/IEC 14496. This mechanism is based on a Syntactic Description Language (SDL), documented here in the form of syntactic description rules. It directly extends the C-like syntax used in ISO/IEC 11172-1:1993 and ISO/IEC 13818-1:2000 into a well-defined framework that lends itself to object-oriented data representations. In particular, SDL assumes an object-oriented underlying framework in which bitstream units consist of “classes.” This framework is based on the typing system of the C++ and Java programming languages. SDL extends the typing system by providing facilities for defining bitstream-level quantities, and how they should be parsed.



    mp4box verwendet halt an Stelle der Klassen Structs und ggfs. Konstanten, aber wie ich das jetzt genau übertrage habe ich leider noch nicht herausfinden können.


    Ich würde deinen alten Feature Request( http://sourceforge.net/tracker/index.…101&atid=571741 ) schließen und in Bezug auf pasp einen neuen auf machen.
    Jean Le Feuvre sollte mit seinem Sourcen besser vertraut sein auch hat er einen besseren Überblick über den MPEG 4 Standard.

  • In 14496-* wird zur Beschreibung des Standards eine an C++/Java angelehnte Syntax verwendet.

    Leider ist der mp4box Quellcode nicht ganz so einfach zu verstehen (zumindest für mich), habe das jetzt etwas länger versucht aber komme da leider auf keinen grünen Zweig. Ich habe 2 Probleme:

    Ich finde nicht die Stelle, an der die GF_VisualSampleEntryBox in den Container geschrieben wird (ich bin mir auch nicht sicher ob die überhaupt jedes mal verwendet wird). Ich vermute, dass es in der Funktion gf_isom_set_visual_info in isom_write.c gemacht wird (es gibt aber noch andere Stellen). Aber selbst wenn das die richtige Stelle ist, wüßte ich nicht, wie so ein PixelAspectRatioBox konkret objekt/struct konkret in den Container geschrieben wird. Hierfür wird glaube ich z.B. die Funktion gf_bs_write_u16 verwendet, aber eben für einfache Zahlen, ich hbae keine Ahnung wie dagegen jetzt so ein Objekt gespeichert wird - das enthält zwar auch nur 2 Zahlen, aber irgendwie muss das ja extra gespeichert werden. Keine Ahnung wo und wie.

    Ich würde deinen alten Feature Request( http://sourceforge.net/tracker/index.…101&atid=571741 ) schließen und in Bezug auf pasp einen neuen auf machen.
    Jean Le Feuvre sollte mit seinem Sourcen besser vertraut sein auch hat er einen besseren Überblick über den MPEG 4 Standard.


    Das ist zwar auch nicht meiner, aber ich habe mal einen neuen Feature Request eingetragen:
    http://sourceforge.net/tracker/index.…101&atid=571741

    Aber irgendwie habe ich da wenig Hoffnung, so was ähnliches wurde ja in den letzten 1,5 Jahren mehrfach gefordert... (allerdings gibt es jetzt einen einfacheren, den Standards entsprechenden Weg)

  • Wenn es nicht x264 sein muss, könnte man auch Nero Recode nehmen, siehe:
    http://forums.macrumors.com/archive/index.php/t-291013.html


    Nero Recode unterstützt kein anamorphes Encoding. Und genau das ist es ja was ich gerne hätte. Gerade wenn man das an einem 720p/HD Fernseher ansehen will (wie es bei AppleTV in der Regel der Fall ist), macht es schon einen Unterschied, wenn ich vertikal 20 oder 30% mehr Pixel habe, aber das muss ich Dir wahrscheinlich nicht erzählen ;)

    Jedenfalls kommt Nero Recode aus diesem Grund nicht in Frage. Ich habe es ausprobiert, die Einstellungen dort haben bei mir nicht funktioniert. Falls es jemanden interessiert, nach ein bisschen rumprobieren hat es dann mit 2 Änderungen geklappt: http://wiki.awkwardtv.org/wiki/Load_DVD_…eTV#Nero_Recode

    Aber wie gesagt, nix zu machen mit anamorphic...

  • Was vielleicht eher Aussicht auf Erfolg hat, ist wenn du noch mal wegen der pasp Box nachhackst da diese auch in dieser http://standards.iso.org/ittf/PubliclyA…d_1_2007(E).zip Abänderung erwähnt wird.


    Danke nochmal für den Tipp, wie es aussieht sind meine Gebete tatsächlich erhört worden...

    http://forum.doom9.org/showthread.php?p=1019718#post1019718

    Bleibt nur noch zu hoffen, dass es am Ende auch tatsächlich so funktioniert und dass Quicktime mit pasp dasselbe meint wie in der Spezifikation ;)

Jetzt mitmachen!

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