x264 + avisynth, qualy und bitratenproblem

  • Hi,

    Ich sitz nun schon seit mehreren Tagen an dem Problem, dass die Qualität meines Videoclips (ca 17 Sekunden) einfach nicht gut werden will, und frag jetzt hier einfach mal.

    Ich bin zwar schon ein recht fit auf dem gebiet Multimedia bearbeitung, aber im Bereich Encoding, Decoding und den Kram ist's so ne Sache.

    OK, nun erst mal zum meinem Clip:
    Codec: x264
    Kontainer: MP-4
    Avisynth Script:
    AviSource("newace.avi")
    Crop(0,0,-0,-0)
    ConvertToYV12()
    Programm: MeGUI
    Profil"Werte" von MeGUI:
    program --pass 3 --bitrate 8500 --stats ".stats" --level 5.1 --keyint 24 --min-keyint 2 --ref 3 --mixed-refs --bframes 3 --b-adapt 2 --weightb --direct auto --deblock -1:-2 --subme 7 --trellis 1 --partitions p8x8,b8x8,i4x4,i8x8 --8x8dct --ipratio 1.1 --pbratio 1.1 --vbv-bufsize 16500 --vbv-maxrate 16500 --qcomp 0.5 --me umh --threads auto --thread-input --progress --no-psnr --no-ssim --output "output" "input" --mvrange 511 --aud --nal-hrd --sar 1:1

    ( Mein Clip ist ein Teil aus einem Fragmovie )

    Wie ich das Video gecaptured habe.

    Ich hab mein Video-Spiel geöffnet und per Konsolenbefehl jede Sekunde mit 200 Bildern (1280x960) . Nun lag jedes dieser Bilder in einem Ordner vor, alle scharf und auf hoher Qualität.

    Nun hab ich die Bilder im VirtualDub zusammengefügt, die Framerate auf 200 gesetzt und als .avi exportiert. Bis auf das Hinderniss CPU und Dateigröße (ca 3GB) war die Qualität zu 100% erhalten und konnt es mehr oder weniger in voller qali betrachten, habe ja schließlich unkompressiert als Codec angegeben.

    Danach hab ich die In-Game Sounds die ich vorher ebenfalls gecaptured habe mit der Avidatei in Sony Vegas Synchronisiert und jeweils einmal eine MP3 und eine wieder unkompressierte avi Datei gerendert. (mit 50fps jedoch)

    Dann habe ich MeGUI gestartet, mein Avisynthscript und Profil angegeben, Eneque gedrückt und einzelnen Jobs ausgeführt (Ja ich hab mehrere Profile versucht, ein Paar eigene und noch welche die ich im Netzt gefunden habe).

    Zum Schluss habe ich dann MP3 und MP4 datei zusammengefügt, leider war die Grafikqualität recht unterduchschnittlich im vergleich zu anderen Clips, die vom selben Spiel wie meinem sind.

    Besonderst bei Schriften bilden sich pixelige Ränder und das Bild wirkt allg. sehr flau und unscharf, was ich nicht ganz verstehen kann da die meisten mit ~6000er Framerate gute Qualität herbekommen und ich nicht mal mit 8500, was ja ne recht hohe Rate ist. Normal sollten 8Minuten meines Films nicht wirklich mehr wie 500mb haben, wenn ich mir die Konkurenz anschaue.

    Ich kann mir eigendlich nur das Avisynth Script als die große quali Bremse vorstellen, vllt habt ihr ja Tips dazu.

    Aber nicht vergessen, ich habe in dem gebiet nicht wirklich Erfahrung undleider nicht die nötige Zeit alles zu Lernen.

    Bin Dankbar für jeden Tipp!

    Einmal editiert, zuletzt von kpvonnix (15. März 2009 um 13:28)

  • :welcome:

    Irgendwie verstehst du die Zusammenhänge zwischen Framerate und Bitrate wohl noch nicht ganz...

    Wenn du "verlustfrei" komprimieren willst, dann vergiss Bitraten. Das Video wird riesengroß.

    Je mehr Bilder du in kurzer Zeit zeigen willst, umso mehr Platz brauchst du dafür. PAL-Video hat beispielsweise 25 Frames pro Sekunde. 200 fps sind 8 Mal so viel.

    Du versuchst, bei 8500 kbps bei einer Bildfläche von 1280×960 Pixeln superscharfe Computergrafik mit superschneller Bewegung bei 200 fps in super Qualität zu speichern? Tut mir leid, das reicht nicht.

    8,5 Mbit/Sekunde : 1280 : 960 : 200 Frames/Sekunde ~ 0,0346 bppf (bit pro Pixel und Frame)

    Bei DivX oder XviD waren um die 0,3 bppf üblich, um gute Qualität zu erreichen, auch AVC sollte nicht wesentlich unter 0,2 bppf geraten. Davon wäre deine Bitrate aber noch meilenweit entfernt. Bei 25 fps könnte es etwa hinkommen:

    8,5 Mbit/Sekunde : 1280 : 960 : 25 Frames/Sekunde ~ 0,277 bppf

    Bitte nicht falsch verstehen: Der bppf-Wert ist kein zwangsweise notwendiges Kriterium. Nur ein Anhaltspunkt von der Größenordnung. Aber wer weniger als 1/5 der empfohlenen Größenordnung zur Verfügung hat, weil er 8× so viele Frames pro Sekunde darstellen will wie ein Kinofilm, der darf sich über schlechte Qualität nicht wundern. Abgesehen davon, dass Fernseher und Videoplayer sowieso nicht jede beliebige Framerate darstellen können, sondern nur solche, die einem Standard entsprechen.

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten

    2 Mal editiert, zuletzt von LigH (15. März 2009 um 00:15)

  • Wobei ich auch vergessen habe anzumerken, dass ich, als ich in Vegas den Clip gerendert habe, 50fps verwendet habe.

    Trozdem, dein Beitrag hat das ganze für nochmal ein wenig klarer gemacht.

    EDIT:

    Achja, dass ich 100% Verlustfrei nicht Komprimieren kann, ist mir bewusst, doch mein Clip würd ich sagen verliert ca. 30-40% an Qualität. Und andere schaffen es den Quailitätsverlust auf etwa 10-20% zu halten und haben trozdem nur eine Bitrate von 6000 benutzt.
    Zudem kommt noch dass ich im Vegas von 1280x960 auf 1280x780 gestallt habe (also quasi auf 16:9), dass das Einfluss auf die Qualität hat mag ich zu bezweifeln.
    Es ist, dass wenn ich beim Capturen alles sozusagen horizontal gequetscht aufgenommen habe und somit die Auflösungsveränderung das alles wieder in die Ursprungsform zurückgesetzt wird.

    Hier noch ein Vergleich zwischen unkomprimiert und komprimiert (Das wirklich beste Ergebnis was ich hatte, würde aber bei rund 10minuten film 8500 mb machen -> way too big)
    [Blockierte Grafik: http://www.bilder-space.de/thumb/15.03CUKk7zwKkBFcy68.jpg]

    2 Mal editiert, zuletzt von kpvonnix (15. März 2009 um 01:16)

  • Was du mit 200 fps willst, ist mir auch unklar.
    Sollte schwer werden, daß bei der Auflösung überhaupt abzuspielen.
    Ich würde 25 (evtl auch 50) fps nehmen.

    Das Resizen in Vegas hat sehr wohl einen neg Einfluß und ist obendrein überflüssig.
    Du kannst die richtige AR auch beim encoding in MeGUI angeben und die Player entzerren das Ergebnis automatisch (sollten sie zumindest).

  • Was du mit 200 fps willst, ist mir auch unklar.
    Sollte schwer werden, daß bei der Auflösung überhaupt abzuspielen.
    Ich würde 25 (evtl auch 50) fps nehmen.

    Das Resizen in Vegas hat sehr wohl einen neg Einfluß und ist obendrein überflüssig.
    Du kannst die richtige AR auch beim encoding in MeGUI angeben und die Player entzerren das Ergebnis automatisch (sollten sie zumindest).

    Ja klar, 200 fps ist viel zu viel darum hab ich, wo ich in Vegas gerendert habe auch 50 angegeben.
    Zum Resizen, der unkompressierte Clip aus Vegas entspricht eigendlich genau der Qualität aus dem Clip von VirtualDub.

    Mir geht es in erster Linie um die Schrift die bei mir ziehmlich vepixelt ist, und habe gelesen dass man das mit einer meGUI einstellung oder besserem Avisynth Script korrigieren kann.

    Einmal editiert, zuletzt von kpvonnix (15. März 2009 um 13:30)

Jetzt mitmachen!

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