Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4GB file size workaround for 32bit OS breaks video streaming in iOs clients #108

Closed
rmufr opened this issue Sep 25, 2018 · 6 comments
Closed

Comments

@rmufr
Copy link

rmufr commented Sep 25, 2018

Using Sabredav embeded with Nextcloud 13 (v4.2.3), on a RPI3 Raspbian stretch server (32bit OS). Webserver is Nginx 1.14.0, fastcgi php-fpm 7.0.30.

Video playback in iOs requires partial content requests (range) support.
When starting a Video playback , from the Nextcloud iOs app (>v2.22) or from the Nextcloud Web UI within iOS Safari browser, both clients start with a partial content GET request of the first 2 bytes.
The #74 change ignores the Content-Length header info, resulting in a response body with the entire video file, but with response headers saying "range: bytes 0-1/filesize" and "content-length: 2".
This mismatch in response information headers and body content is not supported by the iOs client. The client breaks the connection and won't play any image.

@rmufr rmufr changed the title #74 4G file size workaround for 32bits OS breaks video streaming in iOs clients 4GB file size workaround for 32bit OS breaks video streaming in iOs clients Sep 25, 2018
@kruthoff
Copy link

👍

@staabm
Copy link
Member

staabm commented Nov 10, 2018

Could you provide a failling unit test describing your issue or anything similar which can be used to reproduce your issue?

Could you work on a solution which works for videoastreaming but does not break files > 4gb?

@kruthoff
Copy link

I'm not able to provide a unit test, unfortunately. I've just followed @rmufr 's recommendation and got streaming on my iOS (running nextcloud on a raspberry pi, as described above).

@rmufr
Copy link
Author

rmufr commented Nov 12, 2018

Hi,
The simplest way to reproduce, talking only about what I experienced, woud be

  • have a 32bit OS sabre server, and an mp4 video file (<2GB) suitable for HTML5 video playback (e.g. h264/aac)
    • on this server, serve http requests with an Nginx (eg. v14.0) server. I didn't test with Apache.
  • from a iOs device, use Safari browser , try to playback the video file using the an HTML5 embeded video link. (As it happens with Nextcloud WebUI).

My use case is :

  • Nextcloud v13 or v14, installed on a RPI3/raspbian stretch., up to date, default conf
    • Webserver Nginx v14.0 or v13.x also running on the RPI , default conf.
  • iOS Client = iPhone 7, Nextcloud WebUI in Safari Browser. Tested also with iOs 10, 11, 12. iPhone and iPad.

I'm not skilled developer to propose a target solution, but on my opinion, an acceptable solution would be to go through te 32bit OS workaround only if 32bit OS AND the requested stream size really is >2GB, and not upon the only 32 bit OS condition.

@schoetju
Copy link
Contributor

schoetju commented Jul 9, 2022

@rmufr Thanks for the good preparation / issue-description
@phil-davis With #184 being merged into version 5.1.5 this issue can be closed IMHO

@staabm staabm closed this as completed Jul 9, 2022
@staabm
Copy link
Member

staabm commented Jul 9, 2022

Thank you guys

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants