Video speed at a crawl

May 11, 2025 Last reply: 1 year ago 5 Replies

For a week or two showing video on my Raspi 5 with NVME is impossible. The framerate is now something like 2-3 seconds per frame. Before the axe fell it went smooth, Youtube video, TV, videos in news sites, no problem at all. The problem exists no matter if the connection is via wifi or ethernet. Per now this raspi is mostly used for checking news, and there is no problem with that, except for embedded videos that run at 2-3 seconds per frame. Pages load at normal speed.



I have tested up- and download speed with Speeedtest.net. The results are 50 to 52 Mb/s, and the connection is specified for 50/50 up and down.



A Win11 PC standing next to the Raspi have no problem showing video. Win11 PC and Raspi are connected to the same wifi-net. This wifi is coming from an extender with wifi 2, 5 and 6. Connecting the Pi to the extenders ethernet port does not help the raspi's performance, but the Win11 PC shows videos fine using that ethernet port.



I have some time ago experienced that having both ethernet and wifi active on the Raspi at the same time gives trouble, so I am careful not to run both at the same time.



I have used some test from Tom's hardware, using vcgencmd, as shown at the bottom.

formatting link
Most test run on my raspi show similar values to the tests from Tom's. Difference comes at vcgencmd pmic_read_adc at 3V3_DAC_A current(17)=0.00000000A and current(18) where my raspi shows 0.0000000A, but Tom's show like 0.4 to 0.5.



There has been several updates coming in to the Raspi lately. I check what is in the updates but often have no clue to what is does, and just let it install. But if an update causes havoc like this, other people would have been hit, and it probably would have been mentioned in this newsgroup.



Hope it is something simple :-)



Here is theoutput from my Raspi for the tests from Tom's:



raspberrypi@raspberrypi:~ $ vcgencmd measure_clock arm frequency(0)=1500012800 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock core frequency(0)=500007584 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock core frequency(0)=500004288 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock h264 frequency(0)=0 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock isp frequency(0)=500004288 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock v3d frequency(0)=500007584 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock uart frequency(0)=44000244 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock pwm frequency(0)=0 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock emmc frequency(0)=200005008 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock pixel frequency(0)=241503664 raspberrypi@raspberrypi:~ $ 200~vcgencmd measure_clock vec bash: fant ikke kommando 200~vcgencmd raspberrypi@raspberrypi:~ $ vcgencmd measure_clock vec frequency(0)=0 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock hdmi frequency(0)=648009856 raspberrypi@raspberrypi:~ $ vcgencmd measure_clock dpi frequency(0)=0 raspberrypi@raspberrypi:~ $ vcgencmd measure_volts core volt=0.7200V raspberrypi@raspberrypi:~ $ vcgencmd measure_volts sdram_c volt=0.6000V raspberrypi@raspberrypi:~ $ vcgencmd measure_volts sdram_i volt=0.6000V raspberrypi@raspberrypi:~ $ vcgencmd measure_volts sdram_p volt=1.1000V raspberrypi@raspberrypi:~ $ vcgencmd pmic_read_adc 3V7_WL_SW_A current(0)=0.09564114A 3V3_SYS_A current(1)=0.07026696A 1V8_SYS_A current(2)=0.17761930A DDR_VDD2_A current(3)=0.02147046A DDR_VDDQ_A current(4)=0.00000000A 1V1_SYS_A current(5)=0.20299340A 0V8_SW_A current(6)=0.33181620A VDD_CORE_A current(7)=0.79477000A 3V3_DAC_A current(17)=0.00000000A 3V3_ADC_A current(18)=0.00000000A 0V8_AON_A current(16)=0.00274725A HDMI_A current(22)=0.01599510A 3V7_WL_SW_V volt(8)=3.70998400V 3V3_SYS_V volt(9)=3.30632200V 1V8_SYS_V volt(10)=1.80610300V DDR_VDD2_V volt(11)=1.11062200V DDR_VDDQ_V volt(12)=0.60439500V 1V1_SYS_V volt(13)=1.10769100V 0V8_SW_V volt(14)=0.80183080V VDD_CORE_V volt(15)=0.72043880V 3V3_DAC_V volt(20)=3.30952000V 3V3_ADC_V volt(21)=3.31593100V 0V8_AON_V volt(19)=0.79677580V HDMI_V volt(23)=5.12282000V EXT5V_V volt(24)=5.13488000V BATT_V volt(25)=0.00000000V raspberrypi@raspberrypi:~ $


Jesper


A question: The router has the same SSID for 2.4 GHz and 5 GHz, but it is possible to click a setting "Split" and give them separate SSID's. Could that make a difference, except for making it more complicated?

Best regards

I would look at what is running on the Pi. Use htop to see what processes are using CPU. It will also show total memory used and if there is any swap usage - which will kill the machines performance.

Browsing is a memory hog. Have you tried immediately after rebooting and before running any browser? What does the output of 'free' show?

I suspect it isn't anything hardware or power related as you would get some outright failures rather just slowness.

It's always a good idea to do a backup before a major update, put that on an SD card and see if the problem is with the older software.

It maybe something has been reconfigured such as going from Xorg to Wayland display systems which your video playing app doesn't work optimally with.

---druck

First a new observation: Showing a mp4-video captured with my android phone runs fine.

G> there is any swap usage - which will kill the machines performance.

With Thunderbird, File Manager and a Terminal running, HTOP shows Mem

960M/7.87G, Swp 0K/200M.

- After starting the mp4-video HTOP shows Mem 1.14G/7.87G, Swp 0k/200M.

- After stopping the mp4 video and starting Firefox HTOP shows Mem

1.39G/7.87G Swp 0K∕200M. The 4 lines in HTOP above Mem and Swp shows low numbers, like 0.7% to 2.0%.

- After also starting a video in Firefox HTOP shows 1.74G/7.87G Swp

0K/200M. The 4 lines in HTOP above Mem and Swp shows 20% to 45%, but goes down to numbers below 20 while the video is shown as a few frames with like 3 seconds interval.

FREE in Terminal Shows this: raspberrypi@raspberrypi:~ $ free total used free shared buff/cache available Mem: 8253120 2801216 2426464 603024 3843104

5451904 Swap: 204784 0 204784

Testing with Chromium browser gives the same result as with Firefox

The problem also exists after a restart. Please see above for the output of free.

Thank you for your reply. HTOP sems to be a great tool, but it will take some time to be familliar with it. A strange thing is I saw 45 lines with /usr/lib/thunderbird/thunderbird listed with 5.7 % for MEM%. That sums up to 250% :-) So I do not understand HTOP at all :-)

Best regards

Sounds like the next thing to do is to work out what video codecs videos are using, which are quick and which are not.

It doesn't look like there is a problem with the memory. Unless you tell it not to, Linux often swaps out a small amount of memory for things like the initial loader of programs which aren't ever used again. It's only if you see a large and rising amount of swap as you are doing things which indicates the system is under memory pressure.

Browsers now run each tab as a separate process, so you will get many lines of entries. Each process will share the read only code from the first process, and have their own writeable data. Which is why they can all add up to more than the total amount of memory in the machine, but actually only be using a much lower proportion.

---druck

I think htop also shows individual threads - the lines which have identical commands with identical amounts of RAM usage aren't separate processes, they're multiple threads running inside the same address space. Since it's one address space they all share the same RAM utilisation.

eg on this machine, the number of Firefox processes is:

$ ps -flye | grep firefox | wc -l

74

but the number of threads:

$ ps -flye -T | grep firefox | wc -l

2237

Theo

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required