Nextcloud video performance issues

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

[/details]

Nextcloud version: 24.0.3
Operating system and version: Ubuntu 20.04
Apache or nginx version: Nginx
PHP version: 7.4.3
Extensions

Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, session, standard, sodium, cgi-fcgi, mysqlnd, PDO, xml, bcmath, bz2, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, gmp, iconv, imagick, intl, json, exif, mysqli, pdo_mysql, Phar, posix, readline, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlwriter, xsl, zip, Zend OPcache

The issue you are facing:

So i have had this problem for ages now and i have tried everything i feel like to get this running better.

When i upload a video to my nextcloud and try to play it, it buffers and stutters so much, it’s completly unwatchable and it takes up to an hour sometimes to buffer a few minutes of video.

I can’t find any clear guidelines on why this is? Does Nextcloud buffer on the client side and not serverside? Can i make it so that it buffers on the server instead of downloading the video when the clients is watching “This is what i think it does”

Otherwise, what can i do? Machine is like a 8/12 CPU/Ram so it has plenty of resources and is no where close to topping of when playing the video.

Is this the first time you’ve seen this error? _(Y/N): Yes

Steps to replicate it:

  1. Upload a video.
  2. Start the video
  3. Watch it stutter and buffer to infinity and beyond

The output of your Nextcloud log in Admin > Logging:

Info	updater	\OC\Updater::resetLogLevel: Reset log level to Warning(2)	
2022-08-11T13:21:35+0200
Info	updater	\OC\Updater::maintenanceDisabled: Turned off maintenance mode	
2022-08-11T13:21:35+0200
Info	updater	\OC\Updater::updateEnd: Update successful	
2022-08-11T13:21:35+0200
Info	updater	\OC\Updater::finishedCheckCodeIntegrity: Finished code integrity check	
2022-08-11T13:21:35+0200
Info	updater	\OC\Updater::startCheckCodeIntegrity: Starting code integrity check...	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Add background job to set the lookup server share state for users	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Repair DAV shares	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Queue a one-time job to check for user uploaded certificates	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Add job to cleanup the bruteforce entries	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Remove old dashboard app config data	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Check encryption key format	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Keep legacy encryption enabled	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Reset generated avatar flag	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Clear access cache of projects	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::info: Repair info: No need to remove link shares.	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::info: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Remove potentially over exposing share links	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Add background job to cleanup login flow v2 tokens	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Cleanup invalid photocache files for carddav	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Queue a one-time job to cleanup old backups of the updater	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Add preview background cleanup job	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::step: Repair step: Clear every generated avatar on major updates	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::info: Repair info: JS cache cleared	
2022-08-11T13:21:33+0200
Info	no app in context	Deprecated event type for \OC\Repair::info: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:33+0200
Info	updater	\OC\Repair::info: Repair info: SCSS cache cleared	
2022-08-11T13:21:32+0200
Info	no app in context	Deprecated event type for \OC\Repair::info: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:32+0200
Debug	scss_cacher	SCSSCacher::resetCache Locking removed	
2022-08-11T13:21:32+0200
Debug	scss_cacher	SCSSCacher::resetCache css cache cleared!	
2022-08-11T13:21:32+0200
Debug	scss_cacher	SCSSCacher::resetCache Lock acquired	
2022-08-11T13:21:30+0200
Debug	scss_cacher	SCSSCacher::resetCache	
2022-08-11T13:21:30+0200
Info	updater	\OC\Repair::info: Repair info: Image cache cleared	
2022-08-11T13:21:30+0200
Info	no app in context	Deprecated event type for \OC\Repair::info: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:30+0200
Info	updater	\OC\Repair::step: Repair step: Clear frontend caches	
2022-08-11T13:21:30+0200
Info	no app in context	Deprecated event type for \OC\Repair::step: Symfony\Component\EventDispatcher\GenericEvent is used	
2022-08-11T13:21:30+0200
Info	updater	\OC\Repair::step: Repair step: Add log rotate job

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

Not available right now.

The output of your Apache/nginx/system log in /var/log/____:

Doesn't have any information about video playback

What size do your videos have and what encoding are you using?

I tried a very small mp4 sample video and don’t have a problem:
https://www.learningcontainer.com/download/sample-mp4-files-for-download/#support