Local video playback very laggy

Hello,
I just installed Zorin Lite on my Zotac ZBOX PI335 to use with my TV (Samsung 65Q8D). Everything seems to work fine except that video playback is very laggy for videos that are in HD when I use PopcornTime or VLC. YouTube and Vimeo aren't perfect but it works and I can watch in 1080p without it stuttering. I've included the results of lscpu below. I didn't have this issue when I was running on Windows so I doubt it's a hardware limitation. Could I be missing some codecs or something? I've read somewhere that Ubuntu-based distros sometimes have trouble with Samsung TVs but it's acting the same way with my Acer monitor.

nthq@NTHQ-ZBOX-PI335:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 92
Model name: Intel(R) Celeron(R) CPU N3350 @ 1.10GHz
Stepping: 9
CPU MHz: 1116.633
CPU max MHz: 2400.0000
CPU min MHz: 800.0000
BogoMIPS: 2188.80
Virtualization: VT-x
L1d cache: 24K
L1i cache: 32K
L2 cache: 1024K
NUMA node0 CPU(s): 0,1

Can you please run in terminal:

inxi -Fxmz

and post the output here?

System: Host: NTHQ-ZBOX-PI335 Kernel: 5.4.0-72-generic x86_64
bits: 64 gcc: 7.5.0
Desktop: Xfce 4.14.2 (Gtk 3.22.30) Distro: Zorin OS 15.3
Machine: Device: desktop System: NA product: ZBOX-PI335 serial: N/A
Mobo: NA model: ZBOX-PI335 serial: N/A
UEFI: American Megatrends v: 5.12 date: 10/24/2017
Battery hidpp__0: charge: N/A condition: NA/NA Wh
model: Logitech Wireless Touch Keyboard K400 Plus status: Discharging
CPU: Dual core Intel Celeron N3350 (-MCP-) arch: N/A cache: 1024 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 4377
clock speeds: max: 2400 MHz 1: 1001 MHz 2: 904 MHz
Memory: Using dmidecode: root required for dmidecode
Graphics: Card: Intel Device 5a85 bus-ID: 00:02.0
Display Server: x11 (X.Org 1.20.8 )
drivers: modesetting (unloaded: fbdev,vesa)
Resolution: 1920x1080@119.98hz
OpenGL: renderer: Mesa DRI Intel HD Graphics 500 (APL 2)
version: 4.6 Mesa 20.0.8 Direct Render: Yes
Audio: Card Intel Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster
driver: snd_hda_intel bus-ID: 00:0e.0
Sound: Advanced Linux Sound Architecture v: k5.4.0-72-generic
Network: Card-1: Realtek RTL8111/8168/8411 PCIE Gigabit Ethernet Controller
driver: r8169 port: e000 bus-ID: 01:00.0
IF: enp1s0 state: down mac:
Card-2: Intel Wireless 3165 driver: iwlwifi bus-ID: 02:00.0
IF: wlp2s0 state: up mac:
Drives: HDD Total Size: NA (-)
ID-1: /dev/mmcblk1 model: N/A size: 31.3GB
ID-2: /dev/mmcblk0 model: N/A size: 127.9GB
Partition: ID-1: / size: 29G used: 11G (40%) fs: ext4 dev: /dev/mmcblk1p2
RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors: System Temperatures: cpu: 33.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 201 Uptime: 1 min Memory: 1255.9/3781.8MB
Init: systemd runlevel: 5 Gcc sys: N/A
Client: Shell (bash 4.4.201) inxi: 2.3.56

You might try changing your refresh rate to see if that improves performance.

While this is workable, I would highly recommend regularly clearing out extra space often.
sudo apt clean sudo apt autoremove for root and in home folder, (hit ctrl+h to see hidden files) rename /.config and to /.config-bkp and reboot. Test performance to see if video playback has improved- if so, something in a configuration file needs to go. You can transfer over saved settings from /.config-bkp that you need (if you want - or just give yourself a fresh start) until you find the culrpit.
You can try navigating to
/user/lib/python3/dist-packages/aptdaemon/worker/_pycache_
with root privileges (Or in terminal) and clearing the cache in that directory, then rebooting and testing video playback and cpu performance.

I tried with a 60hz refresh rate and it made my TV unable to view it at all. I had to plug if back to my Acer monitor to be able to operate it.
This is a fresh install so .config is blank.
Clearing the cache did little to reduce disk usage.
Do you think perhaps I should try a different distro?

This is always an option, but knowing whether it will yield different results relies on actually trying them out. It won't tell us all what the problem was...

I wonder if @StarTreker may have any ideas, as that member uses a large TV as a monitor and has covered similar issues with TV's as monitors before.

Doing a quick search gave this:

"It turns out it was the indicator-multiload or System Monitor in the app indicators toolbar. Turn it off fixed the problem and videos/animations run smoothly."

https://www.reddit.com/r/Ubuntu/comments/cp20hu/4k_lag/

Is your TV 4k? Does it have settings on the TV, such as for TV mode?

Hello there!

Aravisian is right, I monitor my computer via a 55" 4K TV running at 60-Hertz, which is plugged into my notebook's HDMI connection.

I am not sure which type of TV that you have, but if it supports 1080P 60 hertz natively, that isn't a high requirement, and any HDMI cable that is 9-years old should be able to connect you.

However, if your TV supports 4K at 30-Hertz to 60-Hertz, your going to need a much more modern HDMI cable that is pretty current to handle the job. And while many monitors support the Display Port standard, most TV's do not, so I doubt your using that.

The reason I made such a big point out of the cable, is because if the cable is not rated for the job, you'll get the black screen you talked about. Also, if your computer itself doesn't support the resolution and refresh rate your choosing, it will also go to black.

I never heard of nor used Popcorntime, so I can't give you any advice. But I do use VLC extensively, and it has special options you may not be aware about. Open VLC player. Go to Tools, and enter Settings. Go to the Video tab.

Make sure under Display, that you set the player to Fullscreen. Under Output, make sure its set to Automatic, depending on which file type is being played, better to let VLC choose.

Under Full Screen Video Device, normally its set to Automatic, which is usually fine, but to force VLC to use your display, such as your connected TV, as you can see, I have mine set to HDMI-0. Keep Deinterlacing and Mode on Auto, no need to change those either.

Now, navigate to the Codec Tab please...

Hardware-Accelerated Decoding, a very important feature, which usually defaults to using your GPU, unless only a CPU is present with integrated graphics. Leave it on Automatic if it isn't already, otherwise you might have issues with playback capability.

Video quality post processing level. This is also an important feature. If you have a fast computer, you can leave it on 6 or higher. But the machine you are running off of is not a fast machine, so I would set that down to 3 or lower.

The other important feature here is the x264 preset and tuning selection. Since your CPU is not super fast high end, I would set that setting to Ultrafast, as that setting uses less CPU, which should increase performance. Don't mess with the level selection, I don't think that is necessary, just leave it where it is.

If your mini box PC has a performance mode option in the bio's, make sure to set that to high performance. Linux in general does not come with any software that can do that, its usually proprietary software that does. For example, my Nvidia GPU, I can set to high performance, because Nvidia X Server Settings App has the option to do so.

But, I think you shouldn't be having any issues after making sure those settings are correct. As far as codec's, you shouldn't have missing codec's. However, it doesn't hurt to go into Synaptic, and search for VLC, and scan for the codec's, and make sure they are installed.

But one problem at a time, gotta have you check the VLC settings first before anything else.

1 Like

I'm using Zorin Lite so I have XFCE, not GNOME.

Yes, it is 4K and I have tried changing the TV mode. It didn't help.

It is already set for high performance.

I have changed the settings to what you suggested and it's still the same.

I am testing with a sample HD video. The video plays fine in the browser. It's only when I download it and play it locally that it can't even seem to get passed the first frame.
I also tried connected the computer to my monitor using DisplayPort but the result is the same.

And thank you to both of you for taking the time to help me with this issue.

OK, now this time, I want you to go to the input-codec tab in preferences, and change hardware decoding from Automatic, to DISABLE. Click SAVE.

Now see if you can play the video without it freezing up.

Still no luck :pensive:

Screenshot_2021-04-30_21-47-38

OK, what is the file format type of the video you are trying to play? AVI ? MP4 ? Mov ? I've been trying to look up some things about VLC, and there are multiple reports of inability to play 10-bit files properly, although 8-bit files play ok.

Honestly, you might get a better response directly from the developer of the VLC software, or a website that is completely dedicated to VLC. I honestly thought we'd have you up and going by now, but the problem is clearly deeper rooted then we thought.

OK, if disabling hardware accelerated decoding did not fix the issue, you might be having an issue with file caching.

Please go back to the Input-Codec tab, where you disabled the hardware decoding. Now, at the bottom left of the window, your going to see a Show Settings, and a simple bubble, and an all bubble. Click on the 'ALL' bubble.

From the list on the left, click on Input / Codec. Then on the right side, scroll till you find 'File Caching (ms)'

As you can see on mine, it appears to be set at a very high value of 1000. If yours is set to this as well, that is far too high for a lower performance computer!

Please set yours to a value of no greater then 300, then 'SAVE' See if that fixes it. I am really trying to help you solve this, but I do feel I am at my limits of knowledge here with this.

It's an mp4. I got from here.

Nope. Nothing.

If it were a strange format, I'd recommend using VLC to convert the video to a better format. MP4 is a normal common format though.

Well, all I can do now is suggests converting the MP4 to AVI and see if it plays fine then. Suggest this link To learn how to convert vids in VLC


And one last piece of advice I can give you for trying to play MP4 files specifically in regards to the FFMEPG codec, is to set the specific codec's hardware acceleration to DISABLED. Its set to AUTOMATIC by default.

If you still have issues after all this troubleshooting, then you really need to make posts at a VLC forum message board, or contact the developer directly. Wish you luck!

AVI doesn't play either. I think I'll take my chance with another distro. Thank you very much for you time, it is very appreciated. I've learned a lot from you.

So sorry to hear that we were not able to help you solve the issue. However, having said that, I am however glad that you learned some new things. I recommend POP OS, try it, let me know what you think. I'm using it and I love it.