Enttäuschende Bildqualität mit AV1

Freezedevil

Lieutenant
Registriert
Mai 2011
Beiträge
640
Hi,

die aktuellen AMD Karten unterstützen für die Videoaufnahme auch AV1 und soweit ich derzeit informiert bin ist das aktuell der heilige Grahl der Videokodierung. Entsprechend habe ich das aktuell mit einer Bitrate von 50Mbit/s eingestellt was meiner Meinung nach schon weit mehr als sinnvoll ist. Dennoch bin ich mit dem Video nicht zufrieden und hätte eigentlich deutlich mehr erwartet (siehe Screenshot von Hunt Showdown). Ist das normal und meine Erwartungen sind zu hoch oder stimmt irgendeine Einstellung nicht? Eigentlich hatte ich mit einer Qualität nahe am nativen Rendering gerechnet.

Der Screenshot ist aus dem MPC-HC, sieht in VLC aber genauso aus (nur dass da die Hardwarebeschleunigung glaube nicht funktioniert, ist zumindest sehr ruckelig). ffprobe sagt zur Datei folgendes
Code:
ffprobe version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
[libdav1d @ 0x55647a105f80] libdav1d 0.9.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'double_axe.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomav01iso2mp41
    encoder         : Lavf58.76.100
  Duration: 00:00:21.02, start: 0.000000, bitrate: 49551 kb/s
  Stream #0:0(und): Video: av1 (Main) (av01 / 0x31307661), yuv420p(tv, bt709), 3456x1440 [SAR 1:1 DAR 12:5], 49226 kb/s, 60 fps, 60 tbr, 15360 tbn, 15360 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
[libdav1d @ 0x55647a11e380] libdav1d 0.9.2

Was mich etwas stutzig macht ist die Auflösung von 3456x1440 obwohl es eigentlich 3440x1440 sein sollten.
 

Anhänge

  • amd_settings.png
    amd_settings.png
    234,2 KB · Aufrufe: 304
  • hunt.PNG
    hunt.PNG
    7,5 MB · Aufrufe: 318
"der heilige Grahl der Videokodierung."

Der heilige Grahl der Videokodierung ist aktuell immer noch das ganze per Software zu machen. Die Hardwareencoder sind schneller, aber was Qualität angeht, sind sie begrenzt.

Versuch mal bitte zwei Änderungen, einmal AV1 und 30fps und einmal H264 mit 60fps - wie sehen die aus?
 
  • Gefällt mir
Reaktionen: Freezedevil, tollertyp und GTrash81
Freezedevil schrieb:
Eigentlich hatte ich mit einer Qualität nahe am nativen Rendering gerechnet.
nicht bei 3440x1440@60fps mit 50Mb/s. av1 ist gut, aber zaubern kann es auch nicht, besonders nicht bei einem hardware-encoder, der auf low-latency getrimmt ist.
 
  • Gefällt mir
Reaktionen: TouchGameplay
Dachte eigentlich 50Mbit/s wäre absurd viel da Twitch ja zB nur 8Mbit/s bietet (allerdings nur für fullHD). Die Stärke von AV1 soll es doch außerdem sein bei niedrigen Bitraten noch sehr gut auszusehen?
Ich wusste gar nicht, dass es Qualitätsunterschiede zwischen Hard- und Softwareencoding gibt.

Ich habe mal Experimente nach @john.smiles gemacht und h264 sieht mit Abstand am besten aus?! Sollte das nicht der schlechteste Codec sein?
av1@60fps
av1_60.PNG

av1@30fps
av1_30.PNG

h265@60fps
h265_60.PNG

h264@60fps (ich habe mir erlaubt vom Screenshot links und rechts etwas wegzuschneiden weil die Datei sonst die 10mb Uploadlimit gesprengt hätte)
h264_60_crop.PNG
 
Zuletzt bearbeitet:
Wie hast du denn encodiert?
Ich hatte zwar bisher wenig Berührungspunkte mit AV1 (nur ein Testvideo und gelegentlich eins auf YT), mehr mit 265 zu tun aber die Bilder die du hier hochgeladen hast sehen alle weder nach AV1 aus noch nach 265 - da hab ich schon bessere Ergebnisse mit 265 @4500kbps (zwar in HD aber so viel mehr Bitrate dürfte es auch nicht fressen)
 
Ich verstehe es halt auch nicht. Bis auf h264 sieht das echt schlimm aus. Habe es per Relive aufgenommen also dem Shadowplay Pendant.
 
Hast dir denn ne GraKa der 7000er Generation zugelegt?
Ich hab noch nie Spiele aufgenommen aber das sieht eher aus als ob sich das Programm bei den Settings von dem Live Streaming bedient hätte o.O
Sieht aus wie matschig hochskaliert.
 
Das schlimme ist halt mitunter, dass man bei Encoding-Benchmarks selten die Qualität berücksichtigt... da schneiden die GPUs dann immer immens gut ab. Und das mag uach bei etwas wie Twitch sinnvoll sein.

Aber sollte ich Video-Material von einem alten Codec wie MEPG2 in einen neuen überführen, nutze ich immer Software-Encoder, denn da kommt es dann nicht wirklich auf die Zeit (Latenz) an.
 
Ich habe eine 7900XT und anhand der Daten die ffprobe ausgespuckt hat sieht man ja auch dass es AV1 mit 50MBit/s ist. Sieht trotzdem kacke aus.
 
Also das sieht schon arg schlimm aus. Relive ist nicht ganz so gut wie auf der CPU mit guter Qualität gerechnet, aber ich kann mich nicht erinnern, dass es so schlecht war.... Ich werde Mal eine Probe Aufnahme machen...
 
Naja, was schon komisch ist, dass du sagst dass VLC damit nicht klar kommt. Wenn dann hätte ich eher gedacht MPC-HC würde damit nicht klar kommen, denn der wird seit 2017 nicht mehr weiterentwickelt soweit ich weiß.

Habs gerad nochmal getestet auf meinem System hab MPC-HC 1.7.13 und der kommt mit AV1 nicht zurecht.

Man lernt nie aus... hat tatsächlich jemand die Entwicklung von MPC-HC weitergeführt, Mensch dachte schon ich müsste den Player bald in Ruhestand schicken! :)
 
Zuletzt bearbeitet:
Sind die Screenshots in Bewegung aufgenommen?
Ich nehme mal die Standardeinstellungen die mir vorgeschlagen werden....30MBit/s AVC, 192kB/s Audio, Desktop aufnehmen habe ich aktiv....Auflösung wie im Spiel(1440p), 30 FPS.

Ich muss ein anderes Spiel nehmen...Uncharted habe ich im Moment installiert, auch wenn ich es wohl nicht weiter spielen werden...aber es ist ein 3rd Person Spiel mit Vegetation... mal sehen.
 
Ich habe mich in der Szene bewegt, den Screenshot habe ich bei pausierter Wiedergabe aufgenommen.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
AVC sieht bei mir ja auch gut aus (letzter Screenshot). Eigentlich sollten meinem Verständnis nach jedoch h265 und av1 noch besser aussehen und bei mir ist es ne Katastrophe.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
  • Gefällt mir
Reaktionen: Freezedevil
Freezedevil schrieb:
Ich habe mal Experimente nach @john.smiles gemacht und h264 sieht mit Abstand am besten aus?! Sollte das nicht der schlechteste Codec sein?
Das ist auch nicht verwunderlich. Eigentlich wurde es ja schon gesagt, aber noch mal in anderen Worten:

h264 ist der Codec der die geringste Rechenleistung braucht, zum Komprimieren. AV1 braucht die Meiste. Damit der Encoder jetzt überhaupt knapp 4K mit 60FPS schaffen kann, muss er irgendwo Abstriche machen, und das wird als erstes bei der Qualität sein. Je mehr Zeit der Encoder verwenden darf, desto höher wird die Qualität und zum gewissen Maße kleiner kann die Datei werden.

50Mbit ist jetzt auch noch nicht so viel, sind gerade mal 6,25 MB die der Encoder für 60 Frames verwenden darf, das macht 0,104MB pro Frame. Der Vergleich hinkt, aber versuch mal ein Screenshot in JPEG zu komprimieren, was nur 13KB haben soll 🙂 und versuche da noch was zu erkennen. Natürlich sollte AV1 noch kleiner, bei besserer Qualität komprimieren können, aber das dauert nunmal.

Richtig komprimiert würden auch alle drei Codecs von der Qualität her gleich aussehen. Sie würden sich nur in der Dateigröße/Bitrate und der benötigte Zeit zum Komprimieren unterscheiden.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Freezedevil
@jb_alvarado Aber sollte AV1 nicht gerade auch für Livestreams die Qualität erhöhen, im vergleich zu h264? EposVox spricht ja sehr positiv davon.


@Freezedevil du könntest mal OBS zum Aufnehmen testen, falls das schon den AV1 HW-Encoder von AMD kann. Vll ist es nur ein Fehler in Relive.
 
petepow schrieb:
@jb_alvarado Aber sollte AV1 nicht gerade auch für Livestreams die Qualität erhöhen, im vergleich zu h264? EposVox spricht ja sehr positiv davon.
Wenn Bandbreite keine Rolle spielt, würde ich bei Livestream aktuell noch zu h264 tendieren. AV1 wird von einigen Plattformen auch noch gar nicht unterstützt. Wenn man wenig Bandbreite hat und viel Rechenleistung mag AV1 oder h265 besser sein. Für Youtube wurde auch lange noch h264 zum Upload empfohlen, obwohl h265 unterstützt wurde. Da gab es auch Berichte, dass sich die Qualität der Video später, sichtbar unterscheiden würde und 264 besser abschneidet. Warum das so ist kann ich technisch jetzt nicht erklären, dürfte eigentlich keinen Unterschied machen.

Von einer besseren Qualtität bei AV1 zu sprechen finde ich auch etwas irreführend. AV1 wurde entwickelt um wenig Bitrate für gleiche visuelle Qualität zu gebrauchen. Sprich, kleinere Daten zu bekommen. Dazu werden allerlei Tricks angewendet um das zu erreichen, z.B. wird auch das Video entrauscht und später beim Abspielen wird ein Rauschen (wenn gewünscht) wieder drauf gerechnet. Mag visuell keinen spürbaren Unterschied machen, aber ob man das auch in Produktionsumgebungen so haben wollte, oder auf Kinoleinwänden, ist fraglich.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Freezedevil
petepow schrieb:
@jb_alvarado Aber sollte AV1 nicht gerade auch für Livestreams die Qualität erhöhen, im vergleich zu h264? EposVox spricht ja sehr positiv davon.
Die Videos hab ich auch gesehen und mich verleiten lassen. Wenn ich mir das Video jetzt angucke ist es auch nicht so, als wären die av1 Aufnahmen perfekt (klar hat YT die Qualität auch nochmal negativ beeinflusst). Der Knackpunkt ist denke ich wirklich, und das habe ich durch diesen Thread gelernt, dass av1 bei stark limitierter Bandbreite noch ein gutes Bild liefern kann wo h264 schon längst aussteigt (blurry vs. blocky) und sich daher gut zum Streamen eignet. Meine fehlerhafte Schlussfolgerung war, dass av1 generell besser aussieht und das scheint nicht der Fall zu sein.
Ich werde meine Einstellung auf h264 ändern, da das Ergebnis damit mit deutlichem Abstand am besten war.

Vielen Dank für den ganzen Input.
 
Zurück
Oben