[MKV] Aspect Ratio - MKVmerge

  • Ich habe mittels MeGUI ein x264-MKV erstellt mit der Option --SAR 16:11.
    Wenn ich dieses MKV nun mit MPC und FFDshow abspiele nimmt FFDshow auch an das es sich um ein Video mit einem SAR von 16:11 handelt.

    Nachdem ich mit MKVmerge 2.7.0 das Video neu muxe erhält das Video ein SAR von 349:240. Warum dies? Warum ist das SAR nicht mehr genau 16:11?

  • Rechnerisch ergeben beide Werte ja [fast] das selbe

    • 16:11 = 1,4545454545454545454545454545455
    • 349:240 = 1,4541666666666666666666666666667



    Yamb erstellt mir ein MP4 mit einem SAR von 16:11.

    Selur:

    MeGUI MKV:

    Code
    (MKVInfo) |  + Video-Track an 189(MKVInfo) |   + Pixelbreite: 720 an 191(MKVInfo) |   + Pixelhöhe: 416 an 195(MKVInfo) |   + Anzeigebreite: 360 an 199(MKVInfo) |   + Anzeigehöhe: 143 an 204

    Remuxed MKV:

    Code
    (MKVInfo) |  + Video-Track an 4417(MKVInfo) |   + Pixelbreite: 720 an 4419(MKVInfo) |   + Pixelhöhe: 416 an 4423(MKVInfo) |   + Interlaced: 0 an 4427(MKVInfo) |   + Anzeigebreite: 1047 an 4430(MKVInfo) |   + Anzeigehöhe: 416 an 4435

    Wobei ich den Wert den MKVmerge unter "Anzeigebreite-/-höhe" einträgt manuel entferne, da ich keinen DAR-Flag im Container haben möchte.

    Edit:
    Ich bin warscheinlich blind aber zeigt mir MediaInfo auch den SAR Wert an? Ich sehe nur den DAR Wert.

    13 Mal editiert, zuletzt von XadoX (4. Mai 2009 um 14:05)

  • rum mal mit --Full als Parameter auf, ist da auch das Pixel Aspect Ratio ;)


    Musste in der GUI erstmal nachsehen wo man das wie einstellt :)

    Wird der PAR-Wert im h264-Bitstream als Fließkommawert gespeichert? MediaInfo zeigt mir nur Pixel aspect ratio : 1.455 .

  • Zitat

    Wird der PAR-Wert im h264-Bitstream als Fließkommawert gespeichert? MediaInfo zeigt mir nur Pixel aspect ratio : 1.455 .

    wird er nicht immer nur als Fließkommawert gespeichert?
    Wie sieht das aus, wenn Du mit mkgmerge den PAR Wert explizit angibst und nicht einfach das File lädst und wieder speicherst?

    Cu Selur

  • Ok ich bin einfach mal von Brother Johns Encodingwissen ausgegangen:

    Zitat von Brother Johns Encodingwissen / MKVmerge

    "Für anamorphe Encodings sollten wir auch das AR-Flag des Containers setzen, was ebenfalls bei den Format specific options geschieht. Vorsicht dabei! Matroska verlangt nicht – wie ansonsten immer – das PAR, sondern das DAR... ...Oft erkennt MKVMerge schon automatisch das im Videostream gesetzte AR-Flag und trägt den entsprechenden Wert bei Display width/height ein..."

  • Zu beginn bin ich so vorgeganen, dass ich das Encodierte-MKV in MKVmerge GUI eingeladen habe und anschließend den durch MKVmerge ermittelten DAR-Wert gelöscht habe, da ich nur das AR-Flag im h264-Bitstream haben wollte.
    Anschließend ergab das neu gemuxte MKV einen anderen aber denoch identischen SAR-Wert.

    Wenn ich allerdings den durch MKVmerge GUI ermittelten DAR-Wert beibehalte somit auch ein Container AR-Flag setze erhalte ich ein neugemuxtes MKV mit einem SAR-Wert von 16:11.

    Mittlerweile bin ich so verwirrt und lasse es erstmal gut sein, ich werde nun einfach auch ein Flag im Container setzen und damit leben. Der Ursprung warum ich es weglassen wollte war der, das mein Multimediaplayer Popcorn Hour A-110 wohl probleme mit dem Container Flag hatte. Dies hat sich aber nun auch erledigt (Dank Firmwareupdate).

  • Zitat

    wird er nicht immer nur als Fließkommawert gespeichert?


    Nein. Entweder als Index für ein paar vordefinierte Werte oder als Bruch: zwei Integers, Zähler und Nenner.

    Zitat

    kann sein, dass man in mmg nur den DAR setzen kann


    Ist so, weil Matroska genau genommen gar keine AR-Angabe unterstützt, sondern dafür »Display width/height« nutzt

    Vor v2.7.0 hat MKVMerge bei H.264-Quellen meistens das AR-Flag aus dem Videostream entfernt. Vielleicht hängts auch damit irgendwie zusammen.

    Brother John
    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
    DVD nach MPEG-4 klappt nicht? Verzweifelt? Auf zum Encodingwissen!

  • Brother John hat's erfasst. Matroska-Dateien kennen nur zwei diskrete Werte, mit denen dem Player mitgeteilt werden kann, in welcher Auflösung das Video angezeigt werden soll. Diese heißen "display width" und "display height". Aus dem Quotienten von beiden ergibt sich das "display aspect ratio".

    Das "display aspect ratio" kann entweder vom Benutzer gesetzt werden, oder wenn es das nicht wird, dann wird es von mkvmerge automatisch berechnet. Diese Berechnung hängt vom "pixel/sample aspect ratio" ab, das in vielen MPEG-Bitstreams gespeichert wird. Die meisten davon werden ebenfalls in Form zweier ganzer Zahlen angegeben.

    Aus dem sample aspect ratio berechnet mkvmerge anhand der tatsächlichen Pixelabmessungen der Datei dann die Werte für "display width" und "display height". Dabei wird mkvmerge immer nach oben skalieren; sprich bei einer Pixelauflösung von 720x416 wird bei einem pixel aspect ratio von 16:11 dann die display width/height von 1047,22x416 (abgerundet auf 1047x416) und nicht 720x286 (was dasselbe Seitenverhältnis wäre).

    Da viele Hardwareplayer nicht so richtig gut damit zurecht kommen, wenn im Bitstream das sample aspect ratio nicht enthalten ist, wurde mkvmerge 2.7.0 so geändert, dass das sample aspect ratio nicht mehr entfernt wird. Ich persönlich halte das für totalen Blödsinn, weil der Container als umgebende Schicht viel leichter zu modifizieren ist als der darin enthaltene Bitstream, sofern man solche Angaben wie das sample aspect ratio ändern möchte -- aber gut, die Realität sieht nun mal anders aus; jeder findet sample aspect ratio im Bitstream total toll.

    Weiterhin ist klar, dass mkvmerge nicht 16:11 als display width/height speichert (bzw. den aus dem sample aspect ratio von 16:11 errechneten exakten Wert für display width/height), weil display width/height eigentlich nicht nur Auskunft über das Seitenverhältnis geben sollen, sondern über die gewünschte Auflösung beim Abspielen. Die allermeisten Player halten sich aber an diese Empfehlung nicht, sondern setzen irgendwas anderes um und benutzen display width/height ausschließlich zur Bestimmung des Seitenverhältnisses.

Jetzt mitmachen!

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