Jerky video in streaming

I can watch most video with good quality reproduction but some are quite jerky.
One example is streaming of one of main italian television network Rai 3 - La diretta in streaming video su RaiPlay (note that jerky doesn’t affect advertising included in this streaming).
May be I need more codec?

Watched for a few minutes just now and no problems here with pretty standard TW+Packman install.
Sure of not having network problems or other apps eating your CPU cycles?

I’d be quite sure that network is good and no other app open.
Probably I need Packman (or other) codecs.

Not a codec problem if you actually see the video, more likely a video acceleration problem?
Packman features some packages for HW video decoding that are stripped down for patent reasons or similar in the OSS repo.
Check for instance Mesa-libva or libvdpau* depending on your GPU.
Or maybe you need some of the vaapi packages (from OSS) if you don’t have them already?

How can I check?

You means “gstreamer-plugins-vaapi - Plugin VA-API per GStreamer” as an example?

For instance with:

zypper se -s  vaapi libva vdpau

you can check what you have and what is available.
With Intel GPUs vaapi and libva are often used, vdpau is often associated with Nvidia GPUs.
gstreamer-* is used by Gnome / Gnome Videos (aka Totem) but not every player / desktop uses that framework, so what you definitely need depends on what you use.
I will dig further, but the Rai 3 stream you referenced doesn’t seem to need anything special to play properly here.

Operating System: openSUSE Tumbleweed 20240429
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0
Kernel Version: 6.8.7-1-default (64-bit)
Graphics Platform: X11

My hardware:
Processors: 16 × AMD Ryzen 7 5825U with Radeon Graphics
Memory: 15.0 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Manufacturer: Acer
Product Name: Aspire A515-47
System Version: V1.04

Here’s what I get with command line:

~> zypper se -s  vaapi libva vdpau
Repository                             : Time since last refresh
openSUSE-Tumbleweed-Non-Oss            : 15 min 22 s 
Open H.264 Codec (openSUSE Tumbleweed) : 15 min 21 s 
openSUSE-Tumbleweed-Oss                : 15 min 21 s 
openSUSE-Tumbleweed-Update             : 15 min 20 s 


    Note: Running with user privileges. From time to time run 'zypper refresh' as root to make sure
    the repository metadata are complete and up-to-date.

Caricamento dati del repository in corso...
Lettura dei pacchetti installati in corso...

S  | Name                      | Type      | Version                           | Arch   | Repository
---+---------------------------+-----------+-----------------------------------+--------+------------------------
   | gstreamer-plugins-vaapi   | pacchetto | 1.24.0-1.2                        | x86_64 | openSUSE-Tumbleweed-Oss
   | intel-vaapi-driver        | pacchetto | 2.4.1-5.13                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-devel               | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-devel-32bit         | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
i  | libva-drm2                | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-drm2-32bit          | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-gl-devel            | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-gl-devel-32bit      | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
i  | libva-glx2                | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-glx2-32bit          | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-utils               | pacchetto | 2.20.1-1.3                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-vdpau-driver        | pacchetto | 0.7.4-8.2                         | x86_64 | openSUSE-Tumbleweed-Oss
i  | libva-wayland2            | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-wayland2-32bit      | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
i  | libva-x11-2               | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva-x11-2-32bit         | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
i  | libva2                    | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libva2-32bit              | pacchetto | 2.21.0-1.1                        | x86_64 | openSUSE-Tumbleweed-Oss
   | libvacuumutils37          | pacchetto | 1.3.0+git1571036065.9f3952b2-1.25 | x86_64 | openSUSE-Tumbleweed-Oss
   | libvala-0_56-0            | pacchetto | 0.56.17-1.1                       | x86_64 | openSUSE-Tumbleweed-Oss
   | libvala-0_56-devel        | pacchetto | 0.56.17-1.1                       | x86_64 | openSUSE-Tumbleweed-Oss
   | libvaladoc-0_56-0         | pacchetto | 0.56.17-1.1                       | x86_64 | openSUSE-Tumbleweed-Oss
   | libvaladoc-0_56-devel     | pacchetto | 0.56.17-1.1                       | x86_64 | openSUSE-Tumbleweed-Oss
i  | libvamp-hostsdk3          | pacchetto | 2.10.0-1.24                       | x86_64 | openSUSE-Tumbleweed-Oss
   | libvamp-hostsdk3-32bit    | pacchetto | 2.10.0-1.24                       | x86_64 | openSUSE-Tumbleweed-Oss
   | libvamp-sdk2              | pacchetto | 2.10.0-1.24                       | x86_64 | openSUSE-Tumbleweed-Oss
   | libvamp-sdk2-32bit        | pacchetto | 2.10.0-1.24                       | x86_64 | openSUSE-Tumbleweed-Oss
   | libvapoursynth-66         | pacchetto | 66-1.2                            | x86_64 | openSUSE-Tumbleweed-Oss
   | libvapoursynth-script0    | pacchetto | 66-1.2                            | x86_64 | openSUSE-Tumbleweed-Oss
   | libvarnishapi3            | pacchetto | 7.5.0-1.1                         | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau-devel            | pacchetto | 1.5-2.2                           | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau-devel-32bit      | pacchetto | 1.5-2.2                           | x86_64 | openSUSE-Tumbleweed-Oss
i  | libvdpau1                 | pacchetto | 1.5-2.2                           | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau1-32bit           | pacchetto | 1.5-2.2                           | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_nouveau          | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_nouveau-32bit    | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libvdpau_r600             | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_r600-32bit       | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libvdpau_radeonsi         | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_radeonsi-32bit   | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_trace1           | pacchetto | 1.5-2.2                           | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_trace1-32bit     | pacchetto | 1.5-2.2                           | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_va_gl1           | pacchetto | 0.4.2-4.3                         | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_virtio_gpu       | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
   | libvdpau_virtio_gpu-32bit | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
i  | Mesa-libva                | pacchetto | 24.0.5-373.1                      | x86_64 | openSUSE-Tumbleweed-Oss
i  | vlc-vdpau                 | pacchetto | 3.0.20-6.1                        | x86_64 | openSUSE-Tumbleweed-Oss

I’m not familiar with AMD/Radeon HW so I cannot suggest any specific package to install.
Multimedia experts are usually reading this subforum, so wait for better answers.
FWIW the stream you mentioned seems a MPEG2-TS stream needing some 0,5 MB/s bandwidth.

Thanks anyway.
I see the same streaming with same “modem” (my mobile phone) in an older pc with Leap 15.4 without jerky. Then I think the problem is in my new pc with Tumbleweed.

You may check with vainfo
if you see lines like

      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD

your system can decode MPEG2 with HW acceleration via vaapi.
If not so, you may check the Mesa-libva package from Packman.

I’ve not “vainfo”. After installing “libva-utils” package this is what I get:

~> vainfo
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.21 (libva 2.20.1)
vainfo: Driver version: Mesa Gallium driver 24.0.5 for AMD Radeon Graphics (radeonsi, renoir, LLVM 18.1.4, DRM 3.57, 6.8.7-1-default)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc

Not clear to me how to use HW acceleration.
Now it’s not working given that video is jerky. May be I need to install something?

Your system can decode MPEG2 streams with HW acceleration. Whether it is actually doing so may depend on a number of factors.
You may try nvtop to see how the Radeon GPU is actually used (but I don’t know how well it works with AMD HW).
How are you watching those problem streams? Assuming you are using Firefox you may check Firefox performance settings and you may also type about:config in the address bar, “accept the risk” and check that media.hardware-video-decoding.enabled is set to “true”.
Also keep in mind that stuttering videos are often the result of subtle or occasional network problems (DNS with high latency? Buffers too small?) and using a cellular network for these tests is not the best option in this respect.

This is what I see when watching jerky streaming. It seems that GPU is working and far from overload.


I’m using Firefox and

media.hardware-video-decoding.enabled        true

I agree but same mobile, same television channel, an older pc with Leap 15.4 works flawlessly.

But I see that GPU memory is at 100%, maybe that is the limiting factor?
Is there a way to increase video memory beyond 512 MB in BIOS or otherwise?
Or try to watch the same stream but in a ICEWm session (Plasma6 is apparently eating most of your GPU RAM).
I see no evidence of HW video decoding in the picture; maybe it is down the list of processes (I guess that Rai3 stream only needs only some 1-2% of GPU load to decode) or you need to enable video decoding in the chart: in nvtop try F2 (for setup) , down to Chart, Displayed GPU0, tick “GPU decoder rate”, F12 to save config.
The latter to confirm that HW decoding is indeed working and may not be the limiting factor.

@Giorgio_os:

Given that, you using an AMD CPU and an AMD GPU, do you have the following Firmware, Micro-code and other AMD related packages installed?

kernel-firmware-amdgpu
libdrm_amdgpu1
ucode-amd
xf86-video-amdgpu

Already installed.

Installed then reboot no change.

In BIOS I don’t see anything related to video memory.

Done and reboot no change.

How can I use ICEWm?

I’d be surprised if you had an option in bios to increase shared mem to the apu “uma size”? or something similar on an acer laptop. Googling… doesn’t seem promising. You’d think this would be dynamically allocated but I’m seeing 512MB on my dell 5825u as well.

Possibly worth testing vivaldi or another browser. Chromium for me is hit or miss but vivaldi seems to do pretty good at gpu acceleration so far by default. Of course, av1 and such is non existent in the 5000 series apus so that kind of sucks but generally I’ve not had issues. I dont have a vpn for italian region access atm or I’d test your link given our similar hardware config.

At the login screen, lower left corner, you should see a menu button reading “Desktop Session: Plasma (X11)” and the choice for ICEWm should be installed by default.

The mentioned stream is a plain MPEG2-TS stream, nothing special; I think that any public TV in Europe providing streaming service has something similar for testing.
BTW at this point I don’t think that HW decoding plays much of a role here.