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

Stuck When Trying to Play Large Video Files #25723

Closed
manuth opened this issue Feb 19, 2021 · 2 comments
Closed

Stuck When Trying to Play Large Video Files #25723

manuth opened this issue Feb 19, 2021 · 2 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug

Comments

@manuth
Copy link

manuth commented Feb 19, 2021

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

I originally posted this issue here: nextcloud/docker#1408

Steps to reproduce

  1. Upload a large video (3.6 GB in my case)
  2. Try to play it using the integrated video player

Expected behaviour

The video should play

Actual behaviour

In some cases the whole server gets stuck and all future requests exit with a Gateway Timeout (Error 504).
In most cases, though, an error message is displayed in the video player:

image

To me it looks like nextcloud (fpm) doesn't answer the request within 1 minute, the physical server then closes the connection and sends an error 504 (gateway timeout) which causes the inner nginx docker-image to result with an error 449 (client closed connection).

Server configuration

Operating system:
Ubuntu 20.04.2 using Docker

Web server:
Plesk port-forwarding to nginx-docker image

Database:
mariadb docker-image

PHP version:
7.4.15

Nextcloud version: (see Nextcloud admin page)
20.0.7 fpm

Updated from an older Nextcloud/ownCloud or fresh install:
Updated from older Nextcloud

Where did you install Nextcloud from:
Docker-Image

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.6.0
  - activity: 2.13.4
  - appointments: 1.8.3
  - apporder: 0.11.0
  - calendar: 2.1.3
  - carnet: 0.23.7
  - checksum: 1.0.1
  - cloud_federation_api: 1.3.0
  - comments: 1.10.0
  - contacts: 3.4.3
  - contactsinteraction: 1.1.0
  - dashboard: 7.0.0
  - dav: 1.16.2
  - deck: 1.2.4
  - extract: 1.3.0
  - federatedfilesharing: 1.10.2
  - federation: 1.10.1
  - files: 1.15.0
  - files_external: 1.11.1
  - files_markdown: 2.3.1
  - files_pdfviewer: 2.0.1
  - files_rightclick: 0.17.0
  - files_sharing: 1.12.2
  - files_trashbin: 1.10.1
  - files_versions: 1.13.0
  - files_videoplayer: 1.9.0
  - firstrunwizard: 2.9.0
  - flowupload: 1.1.2
  - keeweb: 0.6.5
  - logreader: 2.5.0
  - lookup_server_connector: 1.8.0
  - nextcloud_announcements: 1.9.0
  - notes: 4.0.2
  - notifications: 2.8.0
  - oauth2: 1.8.0
  - password_policy: 1.10.1
  - passwords: 2021.2.0
  - photos: 1.2.3
  - privacy: 1.4.0
  - provisioning_api: 1.10.0
  - recommendations: 0.8.0
  - richdocuments: 3.7.14
  - serverinfo: 1.10.0
  - settings: 1.2.0
  - sharebymail: 1.10.0
  - spreed: 10.0.5
  - support: 1.3.0
  - survey_client: 1.8.0
  - systemtags: 1.10.0
  - tasks: 0.13.6
  - text: 3.1.0
  - theming: 1.11.0
  - twofactor_backupcodes: 1.9.0
  - twofactor_totp: 5.0.0
  - unsplash: 1.2.1
  - updatenotification: 1.10.0
  - user_status: 1.0.1
  - viewer: 1.4.0
  - weather_status: 1.0.0
  - workflowengine: 2.2.0
Disabled:
  - admin_audit
  - encryption
  - registration
  - user_ldap

Nextcloud configuration:

Config report
{
    "system": {
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "cloud.nuth.ch"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "20.0.7.1",
        "overwrite.cli.url": "http:\/\/localhost",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "overwriteprotocol": "https",
        "overwritehost": "cloud.nuth.ch",
        "apporder": "defaultapp",
        "mail_smtpmode": "smtp",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_sendmailmode": "smtp",
        "maintenance": false,
        "loglevel": 0,
        "app_install_overwrite": [
            "registration",
            "keeweb",
            "checksum",
            "flowupload",
            "files_external_dropbox"
        ],
        "mail_smtpauth": true,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "25",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "tls",
        "has_rebuilt_cache": true
    }
}

Are you using encryption: no

Client configuration

Browser:

  • NextCloud Android client
  • Edge (Chromium)
  • Google Chrome

Operating system:

  • Android
  • Windows 10

Logs

Web server error log

Web server error log

nginx on Plesk
The Ubuntu-server forwards all requests to the nginx-docker image. This has been configured using Plesk.

178.39.48.47 - - [19/Feb/2021:16:58:44 +0000] "GET /remote.php/dav/files/{ Censored 1 }.mp4 HTTP/2.0" 206 765107 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68"
178.39.48.47 - - [19/Feb/2021:16:58:46 +0000] "GET /remote.php/dav/files/{ Censored 2 }.mp4 HTTP/2.0" 206 1059971 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68"
178.39.48.47 - - [19/Feb/2021:16:58:46 +0000] "GET /remote.php/dav/files/{ Censored 3 }.mp4 HTTP/2.0" 206 1625229 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68"
178.39.48.47 - - [19/Feb/2021:16:59:44 +0000] "GET /remote.php/dav/files/{ Censored 1 }.mp4 HTTP/2.0" 504 562 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68"
178.39.48.47 - - [19/Feb/2021:16:59:46 +0000] "GET /remote.php/dav/files/{ Censored 2 }.mp4 HTTP/2.0" 504 562 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68"
178.39.48.47 - - [19/Feb/2021:16:59:46 +0000] "GET /remote.php/dav/files/{ Censored 3 }.mp4 HTTP/2.0" 504 562 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68"
178.39.48.47 - - [19/Feb/2021:17:00:06 +0000] "GET /remote.php/dav/files/{ Censored 3 }.mp4 HTTP/2.0" 504 562 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68"

nginx docker image
The nginx docker image receives the requests and forwards them to the nextcloud:fpm docker-image.

192.168.96.1 - - [19/Feb/2021:16:58:44 +0000] "GET /remote.php/dav/files/{ Censored 1 }.mp4 HTTP/1.0" 206 768718 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68" "178.39.48.47"
192.168.96.1 - - [19/Feb/2021:16:58:46 +0000] "GET /remote.php/dav/files/{ Censored 2 }.mp4 HTTP/1.0" 206 10990480 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68" "178.39.48.47"
192.168.96.1 - - [19/Feb/2021:16:58:46 +0000] "GET /remote.php/dav/files/{ Censored 3 }.mp4 HTTP/1.0" 206 6137384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68" "178.39.48.47"
192.168.96.1 - - [19/Feb/2021:16:59:44 +0000] "GET /remote.php/dav/files/{ Censored 1 }.mp4 HTTP/1.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68" "178.39.48.47"
192.168.96.1 - - [19/Feb/2021:16:59:46 +0000] "GET /remote.php/dav/files/{ Censored 2 }.mp4 HTTP/1.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68" "178.39.48.47"
192.168.96.1 - - [19/Feb/2021:16:59:46 +0000] "GET /remote.php/dav/files/{ Censored 3 }.mp4 HTTP/1.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68" "178.39.48.47"
192.168.96.1 - - [19/Feb/2021:17:00:06 +0000] "GET /remote.php/dav/files/{ Censored 3 }.mp4 HTTP/1.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68" "178.39.48.47"

Nextcloud log (data/nextcloud.log)

Nextcloud log

No logs errors have been reported

Browser log

Browser log

Console:

Opening viewer for file  {Censored}.mp4
// For each video inside the same directory:
GET https://cloud.nuth.ch/remote.php/dav/files/{ Censored }.mp4 504 { Censored }.mp4:1 GET
// Also for each video inside the same directory:
Mime.js:127 Error loading /{ Censored }.mp4 CustomEvent {isTrusted: false, detail: {…}, type: "error", target: div.plyr.plyr--full-ui.plyr--video.plyr--html5.plyr--pip-supported.plyr--fullscreen-enabled.plyr--p…, currentTarget: div.viewer__file.viewer__file--active, …}
@manuth manuth added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Feb 19, 2021
@pierreozoux
Copy link
Member

pierreozoux commented Apr 15, 2021

As a precision, we experience the same but we do use s3, don't know if it is relevant?
And we didn't really optimize php, the default settings in the official docker image are not ideal.
I'll optimize php and come back to report how it helps or not.

@szaimen
Copy link
Contributor

szaimen commented Jul 2, 2021

Lets track this in nextcloud/viewer#894

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug
Projects
None yet
Development

No branches or pull requests

3 participants