10-bit AV1 videos stottern

Sound, Digitalkameras, TV+Video und Spiele.
dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

10-bit AV1 videos stottern

Beitrag von dufty2 » 13.05.2021 14:38:47

In dem Comments auf Phoronix [1] werden Beispiele von 10 Bit AV1 videos aufgeführt.
Leider stottert das auf meinen Laptop erheblich, obwohl es nur die 1280*720 version ist:

Code: Alles auswählen

$ mpv Bulgaria\ 8K\ HDR\ 60P\ \(FUHD\)-N1-Jmq7BLFE.mp4 
 (+) Video --vid=1 (*) (av1 1280x720 59.940fps)
[vo/gpu/wayland] GNOME's wayland compositor is known to have many serious issues with mpv. Switch to GNOME's xorg session for the best experience.
VO: [gpu] 1280x720 yuv420p10
V: 00:00:27 / 00:05:39 (8%) Dropped: 143


Exiting... (Quit)
Kennt jemand tricks wie man das beschleunigen kann?
CPU ist AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx

[1] https://www.phoronix.com/scan.php?page= ... ecode-AVX2

willy4711

Re: 10-bit AV1 videos stottern

Beitrag von willy4711 » 13.05.2021 16:21:31

Ich wage zu bezweifeln dass du ein 8K Video mit AV1 Codec auf deiner Maschine vernünftig zum Laufen bekommst.
Nach hier wird AV1 nicht unterstützt.
https://www.cpu-monkey.com/de/igpu-amd_ ... raphics-13
Geh mal einen Stufe runter (4K), ob das vernünftig läuft.
Ich hab nur einen Intel Grafik. (Intel Core i9-9900 / UHD Graphics 630) da ist mit AV1 Codec nicht mehr.
Muss alles die CPU stemmen (bei ca. 80 % Auslastung)

Daten des Filmchens:

Code: Alles auswählen

General
Unique ID                                : 134944158659494123338054687830288583151 (0x65854CB2787D4D87D8E35EB918CB49EF)
Complete name                            : /home/willy/Bulgaria 8K HDR 60P (FUHD)-N1-Jmq7BLFE.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 995 MiB
Duration                                 : 5 min 39 s
Overall bit rate                         : 24.6 Mb/s
Writing application                      : Lavf58.45.100
Writing library                          : Lavf58.45.100
ErrorDetectionType                       : Per level 1

Video
ID                                       : 1
Format                                   : AV1
Format/Info                              : AOMedia Video 1
Format profile                           : Main@L6.1
HDR format                               : SMPTE ST 2086, HDR10 compatible
Codec ID                                 : V_AV1
Duration                                 : 5 min 39 s
Width                                    : 7 680 pixels
Height                                   : 4 320 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 FPS
[........]
EDIT:

Hast du denn den Codec Installiert ?
Aus deb-Multmadia:
libdav1d4 / libdav1d5

bzw: Debiandav1d / Debianlibgav1-0

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 13.05.2021 16:56:27

Danke für die Tipps.
Es ist
libdav1d4:amd64 0.7.1-3
installiert.
Eine Verbesserung mit der libgav1-0 konnte ich nicht erkennen.

Wie Du meinen Hinweis ("obwohl es nur die 1280*720 version ist") und der Ausgabe von mpv:
VO: [gpu] 1280x720 yuv420p10
entnehmen kannst, benutze ich gar nicht die "8K-Version", sondern nur die 720p60.
Aber selbst die 854x480 stottert :(

Korrektur:
854x480 ("-f 397") geht, hat aber irgendwie "Farbfehler"?

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 10-bit AV1 videos stottern

Beitrag von hikaru » 13.05.2021 17:18:52

Laut [1] wird Hardware-Decodierung von AV1 erst mit der RDNA2-Architektur unterstützt, welche laut [2] erst letztes Jahr veröffentlicht wurde.
Dein 3500u ist laut [3] von 2019, d.h. der wird AV1 immer in Software decodieren.

Nimm eine der VP9-codierten Varianten des Videos! Mit etwas Glück schafft deine GPU da tatsächlich 2160p.


[1] https://en.wikipedia.org/wiki/AV1#Hardware
[2] https://en.wikipedia.org/wiki/RDNA_2#RDNA_2
[3] https://www.notebookcheck.com/AMD-Ryzen ... 001.0.html

willy4711

Re: 10-bit AV1 videos stottern

Beitrag von willy4711 » 13.05.2021 17:21:57

dufty2 hat geschrieben: ↑ zum Beitrag ↑
13.05.2021 16:56:27
Wie Du meinen Hinweis ("obwohl es nur die 1280*720 version ist") und der Ausgabe von mpv:
VO: [gpu] 1280x720 yuv420p10
entnehmen kannst, benutze ich gar nicht die "8K-Version", sondern nur die 720p60.
Aber selbst die 854x480 stottert :(
Du musst beim Runter laden aufpassen, den richtigen Codec zu erwischen, wie ich oben schon sagte :!: :!: :


Welchen hast du denn geladen ?

Code: Alles auswählen

136          mp4        1280x720   720p  644k , mp4_dash container, avc1.4d401f@ 644k, 30fps, video only, 26.07MiB
247          webm       1280x720   720p 1188k , webm_dash container, vp9@1188k, 30fps, video only, 48.06MiB
398          mp4        1280x720   720p60 HDR 1294k , mp4_dash container, av01.0.08M.10.0.110.09.16.09.0@1294k, 60fps, video only, 52.35MiB
302          webm       1280x720   720p60 1897k , webm_dash container, vp9@1897k, 60fps, video only, 76.76MiB
298          mp4        1280x720   720p60 2537k , mp4_dash container, avc1.4d4020@2537k, 60fps, video only, 102.64MiB
334          webm       1280x720   720p60 HDR 4388k , webm_dash container, vp9.2@4388k, 60fps, video only, 177.49MiB

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 13.05.2021 17:50:39

hikaru hat geschrieben: ↑ zum Beitrag ↑
13.05.2021 17:18:52
Nimm eine der VP9-codierten Varianten des Videos! Mit etwas Glück schafft deine GPU da tatsächlich 2160p.
Die VP9 (also die
335 webm 1920x1080 1080p60 )
ist kein Problem (mehr als 1920x1080 hat der Bildschirm des laptop eh nicht).
Das "Schicke" am 10-bit AV1 wäre halt die Kompression, die viel höher ist
und somit die files viel weniger Platz brauchen:
274.08MiB (-f 335) zu 194.17MiB (-f 299) zu 101.89MiB (-f 399)

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 13.05.2021 18:00:28

willy4711 hat geschrieben: ↑ zum Beitrag ↑
13.05.2021 17:21:57

Welchen hast du denn geladen ?

Code: Alles auswählen

136          mp4        1280x720   720p  644k , mp4_dash container, avc1.4d401f@ 644k, 30fps, video only, 26.07MiB
247          webm       1280x720   720p 1188k , webm_dash container, vp9@1188k, 30fps, video only, 48.06MiB
398          mp4        1280x720   720p60 HDR 1294k , mp4_dash container, av01.0.08M.10.0.110.09.16.09.0@1294k, 60fps, video only, 52.35MiB
302          webm       1280x720   720p60 1897k , webm_dash container, vp9@1897k, 60fps, video only, 76.76MiB
298          mp4        1280x720   720p60 2537k , mp4_dash container, avc1.4d4020@2537k, 60fps, video only, 102.64MiB
334          webm       1280x720   720p60 HDR 4388k , webm_dash container, vp9.2@4388k, 60fps, video only, 177.49MiB
Aus der 1280x720 Reihe? Den 398er.

willy4711

Re: 10-bit AV1 videos stottern

Beitrag von willy4711 » 13.05.2021 18:05:10

dufty2 hat geschrieben: ↑ zum Beitrag ↑
13.05.2021 18:00:28
willy4711 hat geschrieben: ↑ zum Beitrag ↑
13.05.2021 17:21:57

Welchen hast du denn geladen ?

Code: Alles auswählen

136          mp4        1280x720   720p  644k , mp4_dash container, avc1.4d401f@ 644k, 30fps, video only, 26.07MiB
247          webm       1280x720   720p 1188k , webm_dash container, vp9@1188k, 30fps, video only, 48.06MiB
398          mp4        1280x720   720p60 HDR 1294k , mp4_dash container, av01.0.08M.10.0.110.09.16.09.0@1294k, 60fps, video only, 52.35MiB
302          webm       1280x720   720p60 1897k , webm_dash container, vp9@1897k, 60fps, video only, 76.76MiB
298          mp4        1280x720   720p60 2537k , mp4_dash container, avc1.4d4020@2537k, 60fps, video only, 102.64MiB
334          webm       1280x720   720p60 HDR 4388k , webm_dash container, vp9.2@4388k, 60fps, video only, 177.49MiB
Aus der 1280x720 Reihe? Den 398er.
Und genau der hat den AV 1 Codec
Musst die mit VP9 raus suchen

Code: Alles auswählen

$ youtube-dl -F https://youtu.be/N1-Jmq7BLFE|grep vp9
278          webm       256x144    144p   75k , webm_dash container, vp9@  75k, 30fps, video only, 3.07MiB
330          webm       256x144    144p60 HDR  168k , webm_dash container, vp9.2@ 168k, 60fps, video only, 6.80MiB
242          webm       426x240    240p  142k , webm_dash container, vp9@ 142k, 30fps, video only, 5.78MiB
331          webm       426x240    240p60 HDR  403k , webm_dash container, vp9.2@ 403k, 60fps, video only, 16.34MiB
243          webm       640x360    360p  319k , webm_dash container, vp9@ 319k, 30fps, video only, 12.91MiB
332          webm       640x360    360p60 HDR  954k , webm_dash container, vp9.2@ 954k, 60fps, video only, 38.60MiB
244          webm       854x480    480p  591k , webm_dash container, vp9@ 591k, 30fps, video only, 23.94MiB
333          webm       854x480    480p60 HDR 1889k , webm_dash container, vp9.2@1889k, 60fps, video only, 76.43MiB
247          webm       1280x720   720p 1188k , webm_dash container, vp9@1188k, 30fps, video only, 48.06MiB
302          webm       1280x720   720p60 1897k , webm_dash container, vp9@1897k, 60fps, video only, 76.76MiB
334          webm       1280x720   720p60 HDR 4388k , webm_dash container, vp9.2@4388k, 60fps, video only, 177.49MiB
303          webm       1920x1080  1080p60 3537k , webm_dash container, vp9@3537k, 60fps, video only, 143.09MiB
335          webm       1920x1080  1080p60 HDR 6776k , webm_dash container, vp9.2@6776k, 60fps, video only, 274.08MiB
308          webm       2560x1440  1440p60 11180k , webm_dash container, vp9@11180k, 60fps, video only, 452.25MiB
336          webm       2560x1440  1440p60 HDR 16110k , webm_dash container, vp9.2@16110k, 60fps, video only, 651.66MiB
315          webm       3840x2160  2160p60 25140k , webm_dash container, vp9@25140k, 60fps, video only, 1016.88MiB
337          webm       3840x2160  2160p60 HDR 28718k , webm_dash container, vp9.2@28718k, 60fps, video only, 1.13GiB

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 13.05.2021 18:09:28

willy4711 hat geschrieben: ↑ zum Beitrag ↑
13.05.2021 18:05:10
Und genau der hat den AV 1 Codec
Musst die mit VP9 raus suchen
Danke, aber das war mir vorher schon bekannt.
Wie ich hikaru schon geantwortet habe, geht es mir um die Kompression => weniger Plattenplatzverbrauch.
Wenn ich aber die 10-bit AV1 nicht "zum fliegen" bekomme,
muss auf den VP9 sitzen bleiben :(

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 15.05.2021 10:12:48

So, hab' noch mal ein bisschen rumgespielt:
Hab die libdav1d5_0.8.2-1_amd64.deb aus experimental genommen,
leider kommt eine Fehlermeldung:

Code: Alles auswählen

$ mpv Morocco\ 8K\ HDR\ 60FPS\ \(FUHD\)-hVvEISFw9w0.mkv 
 (+) Video --vid=1 (*) (av1 1920x1080 59.940fps)
 (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
[vo/gpu/wayland] GNOME's wayland compositor is known to have many serious issues with mpv. Switch to GNOME's xorg session for the best experience.
Input validation check 's->n_postfilter_threads >= 1 && s->n_postfilter_threads <= DAV1D_MAX_POSTFILTER_THREADS' failed in dav1d_open!
Could not open codec.
Decoder init failed for libdav1d
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 yuv420p10
Dann habe ich die aktuelle aus dem git selbst compiliert, kommt aber eine ähnliche Fehlermeldung.

So muss ich wohl warten, bis das neue Release in testing bzw. unstable erscheint:

Code: Alles auswählen

Changes for 0.9.0 'Golden Eagle':
---------------------------------

0.9.0 is a major version of dav1d, adding notably 10b acceleration on x64.

Details:
 - x86 (64bit) AVX2 implementation of most 10b/12b functions, which should provide
   a large boost for high-bitdepth decoding on modern x86 computers and servers.
 - ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
 - New API to signal events happening during the decoding process

willy4711

Re: 10-bit AV1 videos stottern

Beitrag von willy4711 » 15.05.2021 13:38:06

Ich hab den Film nun mal in einer Gnome - Testing - VM (Wayland - 3 CPU-Kerne) abgespielt.
Ich sehe da nur ein minimales (kaum wahrnehmbares) Ruckeln -wenn überhaupt.

Code: Alles auswählen

willy@debian:~$ mpv /home/willy/Downloads/N1-Jmq7BLFE.mp4
 (+) Video --vid=1 (*) (av1 1920x1080 59.940fps)
[vo/gpu/wayland] GNOME's wayland compositor is known to have many serious issues with mpv. Switch to GNOME's xorg session for the best experience.
VO: [gpu] 1920x1080 yuv420p10
V: 00:00:26 / 00:05:39 (7%) Dropped: 1290


Exiting... (Quit)
willy@debian:~$ 
Installiert ist:
libdav1d4:amd64 0.7.1-3
Ob du nun den Codec hast oder nicht. Das decodieren kann nur per Software geschehen.
Was mich wundert, dass dein Prozessor das nicht ohne Ruckeln schafft, wenn es selbst in einer VM läuft.

Mit "Videos" läuft es gut:

Code: Alles auswählen

totem  /home/willy/Downloads/N1-Jmq7BLFE.mp4

(totem:3156): Gtk-WARNING **: 13:35:47.277: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node slider owner GtkScale)
^C
willy@debian:~$ 


dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 15.05.2021 13:58:51

willy4711 hat geschrieben: ↑ zum Beitrag ↑
15.05.2021 13:38:06
Ich hab den Film nun mal in einer Gnome - Testing - VM (Wayland - 3 CPU-Kerne) abgespielt.
Ich sehe da nur ein minimales (kaum wahrnehmbares) Ruckeln -wenn überhaupt.

Code: Alles auswählen

willy@debian:~$ mpv /home/willy/Downloads/N1-Jmq7BLFE.mp4
 (+) Video --vid=1 (*) (av1 1920x1080 59.940fps)
[vo/gpu/wayland] GNOME's wayland compositor is known to have many serious issues with mpv. Switch to GNOME's xorg session for the best experience.
VO: [gpu] 1920x1080 yuv420p10
V: 00:00:26 / 00:05:39 (7%) Dropped: 1290


Exiting... (Quit)
willy@debian:~$ 
Installiert ist:
libdav1d4:amd64 0.7.1-3
Ob du nun den Codec hast oder nicht. Das decodieren kann nur per Software geschehen.
Was mich wundert, dass dein Prozessor das nicht ohne Ruckeln schafft, wenn es selbst in einer VM läuft.

Mit "Videos" läuft es gut:

Code: Alles auswählen

totem  /home/willy/Downloads/N1-Jmq7BLFE.mp4

(totem:3156): Gtk-WARNING **: 13:35:47.277: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node slider owner GtkScale)
^C
willy@debian:~$ 

Kann es sein, dass Du mich (und andere Mitleser) veräppeln willst?
Du hast 1290 Drops in den ersten 26 Sekunden!

Code: Alles auswählen

 mpv --end=27 Bulgaria\ 8K\ HDR\ 60P\ \(FUHD\)-N1-Jmq7BLFE.mp4 
 (+) Video --vid=1 (*) (av1 1920x1080 59.940fps)
[vo/gpu/wayland] GNOME's wayland compositor is known to have many serious issues with mpv. Switch to GNOME's xorg session for the best experience.
VO: [gpu] 1920x1080 yuv420p10
V: 00:00:26 / 00:05:39 (7%) Dropped: 813


Exiting... (End of file)
Bei mir nicht ist es nicht viel besser (813 zu 1290), aber das Ruckeln / Stottern / Whatever ist deutlich sichtbar.

"totem" ist bei mir die reine Katastrophe:

Code: Alles auswählen

$ totem Bulgaria\ 8K\ HDR\ 60P\ \(FUHD\)-N1-Jmq7BLFE.mp4 

(totem:3922): Gdk-WARNING **: 13:50:42.885: Native Windows taller than 65535 pixels are not supported

(totem:3922): Grilo-CRITICAL **: 13:51:01.779: grl_log_valist: assertion 'domain' failed
=> 1 Bild pro 3 Sekunden!

willy4711

Re: 10-bit AV1 videos stottern

Beitrag von willy4711 » 15.05.2021 15:04:17

Nö veräppeln will ich dich nicht :wink:

Hab jetzt mal meiner VM eine zu deinem AMD adäquate Anzahl Kerne spendiert:

Code: Alles auswählen

willy@debian:~$ mpv /home/willy/Downloads/N1-Jmq7BLFE.mp4
 (+) Video --vid=1 (*) (av1 1920x1080 59.940fps)
[vo/gpu/wayland] GNOME's wayland compositor is known to have many serious issues with mpv. Switch to GNOME's xorg session for the best experience.
VO: [gpu] 1920x1080 yuv420p10
V: 00:00:26 / 00:05:39 (7%) Dropped: 897


Exiting... (Quit)
willy@debian:
Wäre dann wohl unentschieden. :mrgreen:
Aber vielleicht bin ich ja zu alt und kann das nicht mehr beurteilen. Da ruckelt nichts mehr. :?

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 10-bit AV1 videos stottern

Beitrag von hikaru » 15.05.2021 19:51:48

willy4711 hat geschrieben: ↑ zum Beitrag ↑
15.05.2021 15:04:17
Da ruckelt nichts mehr. :?
Da fliegt über die Hälfte der Frames weg. Das nimmst du nicht als Ruckeln wahr? :shock:

wanne
Moderator
Beiträge: 7447
Registriert: 24.05.2010 12:39:42

Re: 10-bit AV1 videos stottern

Beitrag von wanne » 16.05.2021 18:41:24

Hab jetzt mal meiner VM eine zu deinem AMD adäquate Anzahl Kerne spendiert
Achtun: VMs eignen sich vollständig und absolut gar nicht um Performance abzuschätzen. Ein Kern auf einer CPU mit 32MiB Cache und 2.5GHz im Turbo wird sich niemals wie einer 4GHz und 4MiB anfühlen. Im Extremfall Hyperthreadding wird die Performance für einige Spezielle sehr rechenintensive Anwendungen sogar besser, wenn du der VM weniger Kerne gibst.

Zum eigentlichen Thema:
* Die ffmpeg/mplayer performance bei der Konversion von HDR nach 8Bit ist leider nur bedingt gut... Ich nehme an, mpv erbt das. Wenn du also auf nem nicht HDR-Gerät abspielst: Nimm auf keinen Fall HDR Streams.
* HDR ist im allgemeinen eher so um den Faktor 2 langsamer wie nicht HDR.
* 60Hz sieht bei Filmen kaum jemand im Blindtest.
* Die Libaom, die der ffmpeg per default nimmt, ist insbesonder in älteren Versionen der Performance eher bescheiden. Die libav1d die der VLC nutzt ist deutlich schneller.

Hier auf meinem FX-8370 läuft 1080p ohne HDR mit ~20% Auslastung. 720p HDR mit ~40% und 2 Framedrops auf 5:30min. 1080p@60Hz HDR ruckelt schon unguckbar. 4k HDR hat 60% Framedrops. Je mit der libav1d aus bullseye.

VP9 hat halt ne geniale Software-Decodierperformance an die sonst nur divx oder ähnlich schlechtes dran kommt.

Könnt ihr mal damit abspielen, seht ihr ein bisschen mehr, was passiert:

Code: Alles auswählen

mpv --msg-level=vo=v,vd=v,ffmpeg=v
rot: Moderator wanne spricht, default: User wanne spricht.

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 16.05.2021 19:41:23

Danke wanne für die Tipps.

Wenn ich aber meinen output richtig interpretiere, wird aber vom mpv libdav1d vor libaom bevorzugt:

Code: Alles auswählen

$ mpv --msg-level=vo=v,vd=v,ffmpeg=v Bulgaria\ 8K\ HDR\ 60P\ \(FUHD\)-N1-Jmq7BLFE.mp4 
 (+) Video --vid=1 (*) (av1 1920x1080 59.940fps)
 <snip>
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu/wayland] Registered output BOE 0x0812 (0x4):
[vo/gpu/wayland] 	x: 0px, y: 0px
[vo/gpu/wayland] 	w: 1920px (340mm), h: 1080px (190mm)
[vo/gpu/wayland] 	scale: 1
[vo/gpu/wayland] 	Hz: 59.997000
[vo/gpu] Resize: 0x0
[vd] Container reported FPS: 59.940060
[vd] Codec list:
[vd]     libdav1d (av1) - dav1d AV1 decoder by VideoLAN
[vd]     libaom-av1 (av1) - libaom AV1
[vd] Opening decoder libdav1d
[vd] No hardware decoding requested.
[vd] Using software decoding.
[vd] Detected 8 logical cores.
[vd] Requesting 9 threads for decoding.
[ffmpeg/video] libdav1d: libdav1d 0.7.1
[vd] Selected codec: libdav1d (dav1d AV1 decoder by VideoLAN)
[vd] Decoder format: 1920x1080 yuv420p10 bt.2020-ncl/bt.2020/pq/limited/auto CL=unknown
VO: [gpu] 1920x1080 yuv420p10
<snp>
V: 00:00:25 / 00:05:39 (7%) Dropped: 929


Exiting... (Quit)

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: 10-bit AV1 videos stottern

Beitrag von habakug » 16.05.2021 19:54:01

Hallo,

hier ist es so, dass Debianmpv default keine HW-Beschleunigung verwendet. So steht es auch im Handbuch [1]:
mpv.io hat geschrieben:Hardware decoding is not enabled by default, because it is typically an additional source of errors. It is worth using only if your CPU is too slow to decode a specific video.
Hier default (av1 habe ich jetzt nicht direkt im Blick):

Code: Alles auswählen

$ mpv Japan\ in\ 8K\ -\ YouTube.webm 
 (+) Video --vid=1 (*) (vp9 3840x2160 23.976fps)
 (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 3840x2160 yuv420p
AV: 00:00:07 / 00:02:21 (6%) A-V:  0.000
Alle Kerne (hier acht) sind zu ca. 10-45% ausgelastet.
Hier mit "hwdec=auto":

Code: Alles auswählen

$ mpv --hwdec=auto Japan\ in\ 8K\ -\ YouTube.webm 
 (+) Video --vid=1 (*) (vp9 3840x2160 23.976fps)
 (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
Using hardware decoding (nvdec).
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 3840x2160 cuda[nv12]
AV: 00:00:30 / 00:02:21 (21%) A-V:  0.000
Die CPU-Aktivität sinkt auf ca. 2-5% pro Kern.
Hier wrkelt eine Nvidia-CPU.

Gruss, habakug

edit:
[1] https://mpv.io/manual/stable/#options-hwdec
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 16.05.2021 20:06:51

Danke habakug für den Hinweis.
Meine iGPU hat aber, wie die Vorredner aufgelistet haben, leider keine Hardwarebeschleunigung für AV 1 :(

Code: Alles auswählen

$ mpv --hwdec=auto --msg-level=vo=v,vd=v,ffmpeg=v Bulgaria\ 8K\ HDR\ 60P\ \(FUHD\)-N1-Jmq7BLFE.mp4
<snip>
[vd] Not trying to use hardware decoding: codec av1 is not on whitelist.
[vd] Using software decoding.
<snip>
V: 00:00:01 / 00:05:39 (0%) Dropped: 55


Exiting... (Quit)

willy4711

Re: 10-bit AV1 videos stottern

Beitrag von willy4711 » 16.05.2021 20:16:06

Bei mir sieht das so aus (die IGPU kann auch kein av1) CPU ca 30 - 40 %

Code: Alles auswählen

~$ mpv --msg-level=vo=v,vd=v,ffmpeg=v /home/willy/Downloads/N1-Jmq7BLFE.mp4
 (+) Video --vid=1 (*) (av1 1920x1080 59.940fps)
[vo/gpu] Probing for best GPU context.
[vo/gpu/opengl] Initializing GPU context 'wayland'
[vo/gpu/opengl] Initializing GPU context 'x11egl'
[vo/gpu/x11] X11 opening display: :0.0
[vo/gpu/x11] Display 0 (DP-1): [0, 0, 3840, 2160] @ 60.000000 FPS
[vo/gpu/x11] Current display FPS: 60.000000
[vo/gpu/opengl] EGL_VERSION=1.5
[vo/gpu/opengl] EGL_VENDOR=Mesa Project
[vo/gpu/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
[vo/gpu/opengl] Trying to create Desktop OpenGL context.
[vo/gpu/opengl] Choosing visual EGL config 0x15, visual ID 0x21
[vo/gpu/opengl] GL_VERSION='4.6 (Core Profile) Mesa 20.3.4'
[vo/gpu/opengl] Detected desktop OpenGL 4.6.
[vo/gpu/opengl] GL_VENDOR='Intel'
[vo/gpu/opengl] GL_RENDERER='Mesa Intel(R) UHD Graphics 630 (CFL GT2)'
[vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='4.60'
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu] Assuming 60.000000 FPS for display sync.
[vd] Container reported FPS: 59.940060
[vd] Codec list:
[vd]     libdav1d (av1) - dav1d AV1 decoder by VideoLAN
[vd]     libaom-av1 (av1) - libaom AV1
[vd] Opening decoder libdav1d
[vd] No hardware decoding requested.
[vd] Using software decoding.
[vd] Detected 16 logical cores.
[vd] Requesting 16 threads for decoding.
[ffmpeg/video] libdav1d: libdav1d 0.8.2
[vd] Selected codec: libdav1d (dav1d AV1 decoder by VideoLAN)
[vd] Using software decoding.
[vd] Decoder format: 1920x1080 yuv420p10 bt.2020-ncl/bt.2020/pq/limited/auto CL=unknown
VO: [gpu] 1920x1080 yuv420p10
[vo/gpu] reconfig to 1920x1080 yuv420p10 bt.2020-ncl/bt.2020/pq/limited/display SP=49.261086 CL=mpeg2/4/h264
[vo/gpu] Resize: 1920x1080
[vo/gpu] Window size: 1920x1080 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 1920x1080 (1:1)
[vo/gpu] Video display: (0, 0) 1920x1080 -> (0, 0) 1920x1080
[vo/gpu] Video scale: 1.000000/1.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu] Reported display depth: 8
[vo/gpu] Texture for plane 0: 1920x1080
[vo/gpu] Texture for plane 1: 960x540
[vo/gpu] Texture for plane 2: 960x540
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu/x11] Disabling screensaver.
V: 00:00:25 / 00:05:39 (8%) Dropped: 24
[vo/gpu] Reallocating OSD texture to 2048x256.
V: 00:00:47 / 00:05:39 (14%) Dropped: 37
[vo/gpu/x11] Enabling screensaver.

Exiting... (Quit)

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: 10-bit AV1 videos stottern

Beitrag von dufty2 » 16.05.2021 20:59:32

Dank habakug hab ich jetzt
hwdec=auto
gleich in die mpv.conf eingebaut.

Schon erstaunlich, dass selbst bei den 16 cores von willy4711 es noch 40% Auslastung sind.

Falls es die Version 0.90 mit dem ASM von dav1d keine CPU-Wunder verbringt, werd ich wohl beim VP9 bleiben.

willy4711

Re: 10-bit AV1 videos stottern

Beitrag von willy4711 » 16.05.2021 21:50:39

meine ~/.config/mpv/mpv.conf auf die Intel IGPU bezogen:

Code: Alles auswählen

[HEVC]  
#--keep-open=yes
hwdec=vaapi
--window-scale=0.7
--autofit-larger=70%x60%
Blos leider mit dem av1 -Codec nicht

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 10-bit AV1 videos stottern

Beitrag von hikaru » 16.05.2021 22:23:26

dufty2 hat geschrieben: ↑ zum Beitrag ↑
16.05.2021 20:59:32
Schon erstaunlich, dass selbst bei den 16 cores von willy4711 es noch 40% Auslastung sind.
willy hat eine Intel-CPU mit Hyperthreading, was zumindest beim Decodieren von h264 und h265 nicht hilft. Ich vermute, bei av1 ist es genauso. Von den 16 "Kernen" bleiben also vielleicht nur die 8 echten Kerne übrig die zählen. Historisch (vor Zen) war es so, dass AMDs HT-Implementierung etwas näher an "echten" Zusatzkernen war. Ob das immer noch gilt und ob es ausreicht um bei der Videodecodierung einen Vorteil zu bringen weiß ich nicht.

Mich erstaunt eher, dass die CPU "nur" zu 40% ausgelastet ist. Als ich meinen ersten Beitrag hier schrieb hatte ich es auf einem AMD Ryzen 5 2600 probiert. Ich erinnere mich nicht mehr an die Details, aber der schaffte es nicht, das Video sauber in Echtzeit abzuspielen. Ich glaube es fehlte nicht viel, aber es waren noch zu viele Framedrops um von flüssiger Wiedergabe zu sprechen.
Andererseits sehe ich in willys Output, dass er zwar ein 2160p-Video abspielt, das Bild aber offenbar nur mit 1080p ausgibt. Ich hatte es auf einem 4k-Fernseher mit 2160p ausgegeben.

willy4711

Re: 10-bit AV1 videos stottern

Beitrag von willy4711 » 16.05.2021 23:01:44

hikaru hat geschrieben: ↑ zum Beitrag ↑
16.05.2021 22:23:26
willy hat eine Intel-CPU mit Hyperthreading, was zumindest beim Decodieren von h264 und h265 nicht hilft. Ich vermute, bei av1 ist es genauso. Von den 16 "Kernen" bleiben also vielleicht nur die 8 echten Kerne übrig die zählen.
Das ist nicht Richtig. H.265 wird sowohl encodiert als auch decodiert (https://ark.intel.com/content/www/de/de ... 0-ghz.html)
IGP Spezifikationen von Intel für UHD 630:
https://software.intel.com/content/www/ ... newer.html
So ist das Heutzutage. Der Rechner ist gerade mal 1,5 Jahre alt. Hab extra darauf geachtet. dass die (damals) aktuellen Codecs
verarbeitet werden können. Von AV1 war damals noch nicht die Rede, kann die GPU auch nicht :(
Und schon wieder Alteisen (bzw. Silizium)

Edit:

Mal im Vollbild- Modus: Da gibt es schon reichlich Drops

Code: Alles auswählen

 mpv --fs=yes --msg-level=vo=v,vd=v,ffmpeg=v ~/Downloads/N1-Jmq7BLFE.mp4
 (+) Video --vid=1 (*) (av1 1920x1080 59.940fps)
[vo/gpu] Probing for best GPU context.
[vo/gpu/opengl] Initializing GPU context 'wayland'
[vo/gpu/opengl] Initializing GPU context 'x11egl'
[vo/gpu/x11] X11 opening display: :0.0
[vo/gpu/x11] Display 0 (DP-1): [0, 0, 3840, 2160] @ 60.000000 FPS
[vo/gpu/x11] Current display FPS: 60.000000
[vo/gpu/opengl] EGL_VERSION=1.5
[vo/gpu/opengl] EGL_VENDOR=Mesa Project
[vo/gpu/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
[vo/gpu/opengl] Trying to create Desktop OpenGL context.
[vo/gpu/opengl] Choosing visual EGL config 0x15, visual ID 0x21
[vo/gpu/opengl] GL_VERSION='4.6 (Core Profile) Mesa 20.3.4'
[vo/gpu/opengl] Detected desktop OpenGL 4.6.
[vo/gpu/opengl] GL_VENDOR='Intel'
[vo/gpu/opengl] GL_RENDERER='Mesa Intel(R) UHD Graphics 630 (CFL GT2)'
[vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='4.60'
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu] Assuming 60.000000 FPS for display sync.
[vd] Container reported FPS: 59.940060
[vd] Codec list:
[vd]     libdav1d (av1) - dav1d AV1 decoder by VideoLAN
[vd]     libaom-av1 (av1) - libaom AV1
[vd] Opening decoder libdav1d
[vd] No hardware decoding requested.
[vd] Using software decoding.
[vd] Detected 16 logical cores.
[vd] Requesting 16 threads for decoding.
[ffmpeg/video] libdav1d: libdav1d 0.8.2
[vd] Selected codec: libdav1d (dav1d AV1 decoder by VideoLAN)
[vd] Using software decoding.
[vd] Decoder format: 1920x1080 yuv420p10 bt.2020-ncl/bt.2020/pq/limited/auto CL=unknown
VO: [gpu] 1920x1080 yuv420p10
[vo/gpu] reconfig to 1920x1080 yuv420p10 bt.2020-ncl/bt.2020/pq/limited/display SP=49.261086 CL=mpeg2/4/h264
[vo/gpu/x11] not waiting for MapNotify
[vo/gpu] Resize: 3840x2160
[vo/gpu] Window size: 3840x2160 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 1920x1080 (1:1)
[vo/gpu] Video display: (0, 0) 1920x1080 -> (0, 0) 3840x2160
[vo/gpu] Video scale: 2.000000/2.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu] Reported display depth: 8
[vo/gpu] Texture for plane 0: 1920x1080
[vo/gpu] Texture for plane 1: 960x540
[vo/gpu] Texture for plane 2: 960x540
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu/x11] Disabling screensaver.
V: 00:00:25 / 00:05:39 (7%) Dropped: 875
[vo/gpu/x11] Enabling screensaver.

Exiting... (Quit)

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 10-bit AV1 videos stottern

Beitrag von hikaru » 16.05.2021 23:56:01

willy4711 hat geschrieben: ↑ zum Beitrag ↑
16.05.2021 23:01:44
Das ist nicht Richtig. H.265 wird sowohl encodiert als auch decodiert (https://ark.intel.com/content/www/de/de ... 0-ghz.html)
Ich sprach von Software-Decodierung. Auf h264/h265 hatte ich nur verwiesen weil es mir dort aufgefallen war und ich dann Tests mit und ohne HT gemacht hatte.
willy4711 hat geschrieben: ↑ zum Beitrag ↑
16.05.2021 23:01:44
Mal im Vollbild- Modus: Da gibt es schon reichlich Drops
Das sieht schon anders aus. ;)

wanne
Moderator
Beiträge: 7447
Registriert: 24.05.2010 12:39:42

Re: 10-bit AV1 videos stottern

Beitrag von wanne » 17.05.2021 02:36:40

@hikaru du hast da ein paar mal versehentlich vp9 verwendet. Der ist natürlich flott.
Hier nochmal so der Vergleich der decodier Performance (bei mir auf dem Prozessor in ffmpeg):
libdav1d ist 3 mal schneller als libaom-av1
on2avc (h.264) 2.4 mal schneller als libdav1d.
h.265 ist 1.5 mal schneller als libdav1d
vp9 10% schneller als h.264
war es so, dass AMDs HT-Implementierung etwas näher an "echten" Zusatzkernen war
Wie an anderer Stelle festgestellt: AMD hat seine Benamung verkackt: Prinzipiell haben die ein Zweistufigeres Konzept keine ccx (Früher Modul) enthält mehrere Kerne die prinzipiell mehrere Threads können. Bei den bulldozen mir nur einen Thread pro Core haben die den Kern dann Complex Thread (Im unterschied zu simultaneous Thread) genannt.
Mehrere (simultaneous) Thread helfen beim reinen decoding defakto nie. Die Module sind stark unterschiedlich. – Der gemeinsam genutzte L3 Cache und Fetch-Unit schadet üblicherweise nicht. Die bei Bulldozern geteilte float-Einheit dagegen bei einigen Codecs schon. h.264 scheint defakto nur in Integer und hat sich nicht gestört.
Der Rechner ist gerade mal 1,5 Jahre alt. […] Von AV1 war damals noch nicht die Rede, kann die GPU auch nicht
Das ist ein bisschen ein Desktop Problem.
Realtek hat die ersten GPUs mit AV1-Support im Juni 2019 raus gebraucht. Für viele andere Arms sieht es ähnlich aus. Nur im Desktopbereich haben sie da irgend wie ewig gewartet.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten