nextcloud / viewer

đź–Ľ Simple file viewer with slideshow for media
GNU Affero General Public License v3.0
97 stars 55 forks source link

Better feedback for unsupported formats loading errors #542

Open Skip75 opened 4 years ago

Skip75 commented 4 years ago

How to use GitHub

Steps to reproduce

  1. Upload any HEVC H265 encoded vidéo to a Nextcloud instance.

Expected behaviour

Be able to read video using nextcloud instance.

Actual behaviour

Video is well read by standard media players (VLC, etc...) but when uploaded on a Nextcloud instance, nothing is displayed unless black screen and audio. Check Browser log down, on that bug report.

Server configuration

Operating system: CentOS 8

Web server: Apache 2.4

Database: MariaDB

PHP version: PHP 7.4

Nextcloud version: NC18.0.6

Signing status:

Signing status ``` No errors have been found. ```

List of activated apps:

App list ``` Enabled: - accessibility: 1.4.0 - activity: 2.11.0 - cloud_federation_api: 1.1.0 - comments: 1.8.0 - dav: 1.14.0 - federatedfilesharing: 1.8.0 - federation: 1.8.0 - files: 1.13.1 - files_pdfviewer: 1.7.0 - files_rightclick: 0.15.2 - files_sharing: 1.10.1 - files_trashbin: 1.8.0 - files_versions: 1.11.0 - files_videoplayer: 1.7.0 - firstrunwizard: 2.7.0 - groupfolders: 6.0.6 - logreader: 2.3.0 - lookup_server_connector: 1.6.0 - maps: 0.1.6 - metadata: 0.12.0 - nextcloud_announcements: 1.7.0 - notifications: 2.6.0 - oauth2: 1.6.0 - password_policy: 1.8.0 - photos: 1.0.0 - privacy: 1.2.0 - provisioning_api: 1.8.0 - recommendations: 0.6.0 - serverinfo: 1.8.0 - settings: 1.0.0 - sharebymail: 1.8.0 - support: 1.1.1 - survey_client: 1.6.0 - systemtags: 1.8.0 - text: 2.0.0 - theming: 1.9.0 - twofactor_backupcodes: 1.7.0 - updatenotification: 1.8.0 - viewer: 1.2.0 - workflowengine: 2.0.0 Disabled: - admin_audit - encryption - files_external - user_ldap ```

Nextcloud configuration:

Config report ``` { "system": { "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "xxx" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "dbtype": "mysql", "version": "18.0.6.0", "overwrite.cli.url": "https:\/\/xxxxxx", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbport": "", "dbtableprefix": "oc_", "mysql.utf8mb4": true, "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "installed": true, "maintenance": false, "memcache.local": "\\OC\\Memcache\\APCu", "mail_smtpmode": "smtp", "mail_sendmailmode": "smtp", "mail_smtpsecure": "tls", "mail_from_address": "***REMOVED SENSITIVE VALUE***", "mail_domain": "***REMOVED SENSITIVE VALUE***", "mail_smtpauthtype": "LOGIN", "mail_smtphost": "***REMOVED SENSITIVE VALUE***", "mail_smtpport": "587", "mail_smtpauth": 1, "mail_smtpname": "***REMOVED SENSITIVE VALUE***", "mail_smtppassword": "***REMOVED SENSITIVE VALUE***", "memcache.locking": "\\OC\\Memcache\\Redis", "redis": { "host": "***REMOVED SENSITIVE VALUE***", "port": 6379, "password": "***REMOVED SENSITIVE VALUE***", "timeout": 0, "dbindex": 0 }, "theme": "", "loglevel": 2 } } ```

Are you using external storage, if yes which one: No

Are you using encryption: No

Are you using an external user-backend, if yes which one: No

Client configuration

Browser: Latest Windows Firefox, latest Windows Edge, and also tested on Android Firefox

Logs

Web server error log

Web server error log ``` No logs generated when playing that video. ```

Nextcloud log (data/nextcloud.log)

Nextcloud log ``` No logs generated when playing that video. ```

Browser log

Browser log ``` JQMIGRATE: Migrate is installed, version 1.4.1 jquery-migrate.min.js:2:551 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20 globals.js:66:15 The escapeHTML library is deprecated! It will be removed in nextcloud 19. 2 globals.js:66:15 Uncaught (in promise) TypeError: OCA.Files.App is undefined 29 client.js:125 o Webpack client.js:125:13 MouseEvent.mozPressure is obsolete. Please use instead PointerEvent.pressure. video.es.js:1649 ``` ![image](https://user-images.githubusercontent.com/44243520/87825736-2e2b5580-c867-11ea-9fd0-6ede433f1d17.png)
kesselb commented 4 years ago
  1. Download VID_20200717_212952.mp4 to your pc.
  2. Open a new tab in your favourite browser.
  3. Drag VID_20200717_212952.mp4 to the new tab.

Still see no movie? Then your browser is not able to play the file.

Skip75 commented 4 years ago

You're right, I didn't try, because I thought Nextcloud came with its own video player (like Youtube) and therefore with its own codecs and supported formats.

Ok, I'm closing this ticket, getting closer to the browser support to see if they have a clear idea of the problem with the format of this video.

Thanks for the tips @kesselb

Skip75 commented 4 years ago

Ok get it. That vidéo is using HEVC H.265 codec. And since it's a proprietary format, Open Source Browsers (Firefox & Chromium based browsers) don't read it : https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs#HEVC

@kesselb is there a way for Nextcloud to pop-up a warning when detecting H265 vidéo ? To let user be informed of the issue ?

solracsf commented 4 years ago

the format is not supported HEVC H265

Isn't the user informed here? I don't think that Nextcloud should handle these cases, otherwise, we should maintain an entire DB only for unsupported formats to open trough the browser IMHO. Safari supports it today, maybe others tomorrow...

https://caniuse.com/#feat=hevc

kesselb commented 4 years ago

is there a way for Nextcloud to pop-up a warning when detecting H265 vidéo ? To let user be informed of the issue ?

image

I don't know but there is an error in the browsers console. Might be possible to show it to the user.

cc @skjnldsv :eyes:

skjnldsv commented 4 years ago

@kesselb is there a way for Nextcloud to pop-up a warning when detecting H265 vidéo ? To let user be informed of the issue ?

Should be done with 19 since we moved to plyr I think. Let me try!

skjnldsv commented 4 years ago

Capture d’écran_2020-07-20_15-11-44 Works for me :p

Skip75 commented 4 years ago

good news, thanks @skjnldsv

Is the user informed that the playback error is due to an unsupported (proprietary) video format ? (and not because file is corrupted, or Nextcloud is having issues)