iOS Nextcloud client does not play videos

Dear all,

I’m running quite a while a Nextcloud installation. Meanwhile I use the server version 19.0.5 and the iOS app version 3.0.15.2. I started to upload local photos and videos from my iPhone to the cloud via teh Nextcloud app on my iPhone. This works well and I could see all photos and play all videos. Then I cleared the local cache of nextcloud in which the uploaded files were still cached. Now the behaviour of the iOS app gets strange: I can view all photos without problems, but I cannot play any .mov video (which I could play before as long as they were cached). Then I marked the .mov video to “make it available offline” (translation from the german app, not sure about the right english wording). The video was downloaded again locally on the iPhone and suddenly I can play (only) this .mov file without problems within the Nextcloud iOS app. As soon as I clear the cache again in Nextcloud I cannot play it anymore.

I cannot believe that this is a common fault. Does anybody have any ideas where the issue can be located? I cannot believe, that it is a server issue, as I can download the file offline in the iOS app without problems and as I can open the video also without any problem via a desktop PC with a mapped drive.

Thanks in advance.

Jochen

Dear all,

meanwhile I updated to Nextcloud 20.0.2. --> same behaviour

I checked my nginx logs and I see, that there is a GET request for the .mov file in the access.log. What I also can see is a warning in error.log of nginx:

2020/11/30 19:57:12 [warn] 7819#7819: *1 an upstream response is buffered to a temporary file /var/lib/nginx/fastcgi/6/00/0000000006 while reading upstream, client: aaa.bbb.ccc.ddd, server: domain.tld, request: “GET /remote.php/webdav/IPhone/IMG_3687.MOV HTTP/2.0”, upstream: “fastcgi://unix:/run/php/php7.4-fpm.sock:”, host: “domain.tld”

I searched for this fault via google and found some hints. I tried in nginx.conf with

  • proxy_max_temp_file_size 1024M;
    later with
  • proxy_max_temp_file_size 0;

in my site configuration I increased from
fastcgi_buffers 64 4K;
to
fastcgi_buffers 256 4K;

All without success. Any hints where I can check for further error sources?

Regards
Jochen

Hi Jochen,

reading this, i can confirm to have the same issue.
iOS-App 3.0.15
Nextcloud-Server runs 19.4

Playing a video does not work until you’ve downloaded the file because of “select as offline-available” / (German “Als Offline verfügbar markieren”).

Happy to see, that someone else does have the same issue. (struggeled with this just yesterday while introducing the nextcloud-app to a new familiy-user :slight_smile:

Best Regards
Juergen

Hello JĂĽrgen,

I searched furthermore and identified old threads from 2018 and older, in which the problem is also mentioned (see Nextcloud Forum ). I thought this cannot be my problem anymore, as I expected the problem solved 2 years later.

The environment is similar to mine (Raspberry with Rasbian respective Raspberry OS).

The explained fix works also in nextcloud 20.0.2, you only have to look a little bit around the mentioned line number. The easiest way is to search in ./3rdparty/sabre/http/lib/Sapi.php for the string “PHP_INT_SIZE”. There should be only one occurence and this should be an if statement. This if statement you have to modify to be always true (I changed from >4 to >0). I want to check the full functionality also in case of bigger files, but this solves immediately my issue with playing the videos on my iPhone.
There is also the hint regarding buffer optimization, which should be deactivated. I did not get in my configuration the root cause via that. So for the moment I live with a patched Sapi.php.

Maybe this is also applicable for you. I would appreciate if anybody can point out a better solution.

Regards
Jochen