Videobild zu groß dargestellt - PAR, DAR falsch eingestellt?

  • Hi,


    bei dem Weiterverarbeiten einer VDR-Aufnahme mit ffmpeg nach x264 ist mir aufgefallen, dass das Bild auf dem Bildschirm zu groß dargestellt wird.


    Das Video hat eine Auflösung von 720x576 wird aber angezeigt in 1024x576.


    Das Bild im Hintergrund ist es welches ich habe, angezeigt werden sollte es in der Größe des Videos im Vordergrund. Wobei beide Videos die gleiche Auflösung haben.


    [Blockierte Grafik: http://img249.imageshack.us/img249/720/vid.th.png]


    ffmpeg sagt zu den Video im Hintergrund:



    Z.B. Quicktime meint folgendes dazu:


    [Blockierte Grafik: http://img142.imageshack.us/img142/5916/bild25.th.png]


    Aber auch im VLC oder mplayer wird das Video zu groß dargestellt abgespielt.


    Ich vermute es liegt an den Werten von PAR und DAR.


    Code
    PAR 64:45 DAR 16:9


    Da ffmpeg zu dem kleinangezeigtem Video folgendes sagt:



    Hier sieht es mit PAR und DAR ganz anders aus.


    Hat jemand eine Erklärung warum das so ist, oder einen Vorschlag wie ich das Video in der richtigen Größe angezeigt bekomme? Wenn ich mir die VDR Aufnahme direkt mit dem VLC anschaue ist sie seltsamerweise auch schon zu groß auf dem Bildschirm. Ich bin verwirrt :rolleyes:


    Viele Grüße
    winston

    VDR HW : ABIT NF-M2SV (mit jetzt getauschten Kondensatoren :D ), 1*1GB RAM, AMD 64 X2 3800+, Mystique SaTiX-S2 V2 CI Dual
    VDR SW : yaVDR64-0.5.0-alpha1

  • Verwirrt bin ich jetzt auch. Was genau willst Du denn jetzt eigentlich erreichen?


    Das ist ein 720x576 Video mit 16:9 aspect. D.h. wenn Du die vertikale Auflösung nicht runterrechnen willst, musst Du die horizontale aufblasen. (Passiert bei 4:3 uebrigens auch, allerdings nur auf 768x576). Es wird mit 1024x576 also genau richtig angezeigt.


    Das andere Video ist auf 720x400 runtergerechnet worden, um einen 1:1 Aspect zu erreichen wie es zu DivX-Zeiten usus war. Genaugenommen ist es dabei ein bisschen gestaucht worden, denn für 1:1 müsste es eigentlich 720x405 sein. Was aber nicht ohne weiteres geht, weil intern in Makroblöcken kodiert wird, die Größen also je nach Codec Vielfache von 8 oder 16 sein müssen. Wenn Du das mit schwarzem Rand auffüllst bzw. der Codec das implizit für Dich erledigt, kriegst Du am Rand wieder andere Probleme, dann sind da auf einmal hohe Kontraste, die auch wieder Bits kosten. (Resize ist ganz allgemein sowieso eine eher bloede Idee, weil dann auf einmal Kompressionsartefakte des Originals ganz anders auf die neuen Macroblöcke verteilt werden und dort dann in gleich mehreren Blöcken als kodierenswerte Bildinformation gelten.)


    Also wenn Du jetzt nicht gerade einen Player hast, der mit Aspect nicht zurecht kommt, dann lass es einfach so. Und skalier halt beim Abspielen, wenns sein muss.

  • Ich möchte eigentlich nur bei ausgewählten VDR-Aufnahmen den Rand entfernen und diese dann in z.B. xvid oder auch x264 mit ffmpeg umwandeln um sie dann später wieder auf dem PC (vlc, quicktime, mplayer, etc) anzusehen. Und dies erledige ich im Moment folgendermaßen:


    1. VDR-Aufnahme in Project-X demuxen
    2. Rand automatisch mit mplayer bestimmen
    3. VDR-Aufnahme mit dem entsprechenen Audio mit ffmpeg encoden.


    Wahrscheinlich geht es auch ohne 1. aber da bin ich noch am experimentieren. Teilweise habe ich gelesen, dass dann Audio und Video nicht mehr syncron sind, aber da bin ich noch am suchen.


    Ich würde gerne einfach nur die Ränder entfernen ohne bei dem Video die Auflösung zu resizen (hm was ist ein gutes deutsches Wort dafür?) und das Video dann in Originalgröße ansehen (das dann wahrscheinlich wieder auf Vollbild).
    Bei manchen Sendern läuft ja z.B. noch ein Nachrichtenticker während der Sendung, den würde ich dann auch gerne abschneiden.


    Bei diesem Video waren es 16 Pixel auf jeder Seite. So dass dann aus 720x576 --> 688x544 werden. Diese werden dann aber wieder als 967x544 angezeigt (wobei 967/544=1.777 )


    Jetzt bin ich noch mehr verwirrt. Warum wird das Video denn nicht in der Originalgröße angezeigt, 688 bzw. 720 sind ja Vielfache von 16? Sind die Pixel nicht quadratisch?


    Mal eben was ausprobier...


    Code
    ffmpeg -t 60s -i 001.m2v -croptop 16 -cropbottom 16 -cropleft 16 -cropright 16 -vcodec libx264 -vpre normal -crf 18 -threads 0 -s 720x400 OUTPUT.mp4


    Ich habe mal das Video auf eine Größe von 720x400 verkleinert. Dieses wird in der richtigen Größe angezeigt. Habe ich es jetzt gestaucht, so wie du gesagt hast? :rolleyes:


    Was ist denn sinnvoller?


    Einfach den Rand abschneiden auf Teilbarkeit durch 8 oder 16 achten und das Video größer angezeigt bekommen als es eigentlich ist. Und dann z.B. Auflösungen wie 688x544 bekommen.


    Oder die Auflösung auf etwas 16:9 artiges verkleinern (resizen) z.B. 720x400, oder mehr Rand nehmen als nötig ist (was ich eigentlich nicht machen möchte, weil wäre ja irgendwie sinnfrei).


    winston

    VDR HW : ABIT NF-M2SV (mit jetzt getauschten Kondensatoren :D ), 1*1GB RAM, AMD 64 X2 3800+, Mystique SaTiX-S2 V2 CI Dual
    VDR SW : yaVDR64-0.5.0-alpha1

  • Zitat

    Original von winston
    Sind die Pixel nicht quadratisch?


    Nein, sind sie nicht.
    Bei 4:3 sind sie es einigermaßen, bei 16:9 aber gar nicht. Beides wird als 720x576 gesendet und der Fernsehr muss das Bild bei 16:9 kräftig in die Breite ziehen.


    Jetzt kannst Du Dir aussuchen wie Du Deine Filme umkodieren willst :D


    btw: bei jedem Umkodieren leider die Qualität ....

Jetzt mitmachen!

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