nextcloud / nextcloud/previewgenerator

Preview is not generating for .jpg and .mp4

Open
#593 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs info
Dominant language
PHP
Stars
520
Forks
55
PR merge metrics
No merged PRs in 30d

Description

Steps to reproduce
  1. reinstall preview-generator by using the .tar
  2. occ preview:generate /user/files/....jpg -vvv returns following error:
In Generator.php line 366:
                                                           
  [OCP\Files\NotFoundException]                            
  No provider successfully handled the preview generation  
                                                           

Exception trace:
  at /var/www/nextcloud/lib/private/Preview/Generator.php:366
 OC\Preview\Generator->generateProviderPreview() at /var/www/nextcloud/lib/private/Preview/Generator.php:313
 OC\Preview\Generator->getMaxPreview() at /var/www/nextcloud/lib/private/Preview/Generator.php:117
 OC\Preview\Generator->generatePreviews() at /var/www/nextcloud/lib/private/PreviewManager.php:182
 OC\PreviewManager->generatePreviews() at /var/www/nextcloud/core/Command/Preview/Generate.php:92
 OC\Core\Command\Preview\Generate->execute() at /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php:326
 Symfony\Component\Console\Command\Command->run() at /var/www/nextcloud/3rdparty/symfony/console/Application.php:1078
 Symfony\Component\Console\Application->doRunCommand() at /var/www/nextcloud/3rdparty/symfony/console/Application.php:324
 Symfony\Component\Console\Application->doRun() at /var/www/nextcloud/3rdparty/symfony/console/Application.php:175
 Symfony\Component\Console\Application->run() at /var/www/nextcloud/lib/private/Console/Application.php:187
 OC\Console\Application->run() at /var/www/nextcloud/console.php:90
 require_once() at /var/www/nextcloud/occ:33

preview:generate [-s|--size SIZE] [-c|--crop] [-m|--mode MODE] [--] <file>

When I try the same with a .png file everything works as expected

Server configuration

Web server: Apache

Database: MySQL

PHP version: 8.4

Nextcloud version: 32.0.2

List of activated apps
  - activity: 5.0.0-dev.0
  - analytics: 6.0.1
  - assistant: 2.9.0
  - bruteforcesettings: 5.0.0-dev.0
  - calendar: 6.1.0
  - circles: 32.0.0
  - cloud_federation_api: 1.16.0
  - comments: 1.22.0
  - contacts: 8.1.0
  - contactsinteraction: 1.13.1
  - cookbook: 0.11.5
  - dashboard: 7.12.0
  - dav: 1.34.2
  - deck: 1.16.2
  - facerecognition: 0.9.70
  - federatedfilesharing: 1.22.0
  - federation: 1.22.0
  - files: 2.4.0
  - files_automatedtagging: 3.0.1
  - files_downloadlimit: 5.0.0-dev.0
  - files_external: 1.24.0
  - files_pdfviewer: 5.0.0-dev.0
  - files_reminders: 1.5.0
  - files_retention: 3.0.0
  - files_sharing: 1.24.1
  - files_trashbin: 1.22.0
  - files_versions: 1.25.0
  - firstrunwizard: 5.0.0-dev.0
  - integration_github: 3.2.2
  - integration_openai: 3.9.1
  - integration_openstreetmap: 3.0.0
  - integration_overleaf: 1.1.0
  - integration_replicate: 4.2.0
  - logreader: 5.0.0-dev.0
  - lookup_server_connector: 1.20.0
  - mail: 5.6.0
  - maps: 1.6.0
  - memories: 7.7.0
  - music: 2.4.1
  - news: 27.2.0
  - nextcloud_announcements: 4.0.0-dev.0
  - nextcloudpi: 0.0.2
  - notes: 4.12.3
  - notifications: 5.0.0-dev.0
  - notify_push: 1.2.1
  - oauth2: 1.20.0
  - password_policy: 4.0.0-dev.0
  - phonetrack: 0.9.1
  - photos: 5.0.0-dev.1
  - previewgenerator: 5.11.0
  - privacy: 4.0.0-dev.0
  - profile: 1.1.0
  - provisioning_api: 1.22.0
  - recognize: 10.0.6
  - recommendations: 5.0.0-dev.0
  - related_resources: 3.0.0-dev.0
  - richdocuments: 9.0.1
  - richdocumentscode_arm64: 25.4.702
  - serverinfo: 4.0.0-dev.0
  - settings: 1.15.1
  - sharebymail: 1.22.0
  - spreed: 22.0.4
  - support: 4.0.0-dev.0
  - survey_client: 4.0.0-dev.0
  - suspicious_login: 10.0.0-dev.0
  - systemtags: 1.22.0
  - talk_matterbridge: 1.32.1026000
  - tasks: 0.17.1
  - text: 6.0.1
  - theming: 2.7.0
  - twofactor_backupcodes: 1.21.0
  - unsplash: 3.1.0
  - updatenotification: 1.22.0
  - user_status: 1.12.0
  - viewer: 5.0.0-dev.0
  - weather_status: 1.12.0
  - webhook_listeners: 1.3.0
  - workflowengine: 2.14.0
Disabled:
  - admin_audit: 1.22.0
  - app_api: 32.0.0 (installed 32.0.0)
  - encryption: 2.20.0
  - twofactor_nextcloud_notification: 6.0.0-dev.0
  - twofactor_totp: 14.0.0
  - user_ldap: 1.23.0
Nextcloud configuration
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": {
            "0": "localhost",
            "5": "nextcloudpi.local",
            "7": "nextcloudpi",
        },
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "32.0.2.2",
        "overwrite.cli.url": "https:\/\/nextcloudpi\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "default_locale": "de_DE",
        "default_language": "de",
        "default_phone_region": "DE",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "filelocking.enabled": true,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0,
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "tempdirectory": "\/media\/myCloudDrive\/ncdata\/tmp",
        "mail_smtpmode": "sendmail",
        "mail_smtpauthtype": "LOGIN",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "preview_max_x": "8000",
        "preview_max_y": "8000",
        "preview_max_memory": 8192,
        "preview_max_filesize_image": 256,
        "jpeg_quality": 60,
        "overwriteprotocol": "https",
        "maintenance": false,
        "maintenance_window_start": 1,
        "logfile": "\/media\/myCloudDrive\/ncdata\/nextcloud.log",
        "loglevel": 0,
        "log_type": "file",
        "theme": "",
        "trashbin_retention_obligation": "auto, 365",
        "updater.release.channel": "stable",
        "app_install_overwrite": {
            "0": "cookbook",
            "3": "passman",
            "4": "talk_matterbridge",
            "5": "suspicious_login",
            "6": "terms_of_service",
            "7": "unsplash",
            "8": "music",
            "9": "bruteforcesettings",
            "10": "video_converter",
            "11": "quota_warning",
            "12": "polls",
            "13": "deck",
            "14": "flow_notifications",
            "15": "richdocumentscode_arm64",
            "16": "cms_pico",
            "17": "phonetrack",
            "18": "tasks",
            "19": "news",
            "20": "facerecognition",
            "21": "memories",
            "22": "maps",
            "23": "files_retention",
            "24": "llm",
            "25": "forms",
            "26": "integration_github",
            "27": "integration_jupyterhub",
            "28": "nextcloudpi"
        },
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "data-fingerprint": "4c7943cffe4b7905097aa89c6878d08f",
        "enable_previews": true,
        "enabledPreviewProviders": {
            "0": "OC\\Preview\\Image",
            "1": "OC\\Preview\\Movie",
            "5": "OC\\Preview\\JPEG"
        },
        "memories.exiftool": "\/var\/www\/nextcloud\/apps\/memories\/bin-ext\/exiftool-aarch64-glibc",
        "memories.no_transcode": false,
        "memories.ffmpeg_path": "\/usr\/bin\/ffmpeg",
        "memories.ffprobe_path": "\/usr\/bin\/ffprobe",
        "memories.transcoder": "\/var\/www\/nextcloud\/apps\/memories\/exiftool-bin\/go-vod-aarch64",
        "memories.qsv": true,
        "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
        "memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
        "memories.vod.disable": true,
        "memories.vod.path": "\/var\/www\/nextcloud\/apps\/memories\/bin-ext\/go-vod-aarch64",
        "memories.gis_type": 1,
        "memories.db.triggers.fcu": true,
        "defaultapp": "",
        "htaccess.RewriteBase": "",
        "updater.secret": "***REMOVED SENSITIVE VALUE***"
    }
}

Trying to convert the image manually (using the convert command) does work. ffmpeg and imagemagick are installed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with lib/private/Preview/Generator.php at the reported calls around lines 313 and 366, then inspect the preview:generate command entry point and the enabled Image, Movie, and JPEG providers. Compare the failing .jpg and .mp4 cases with the working .png case and verify that preview:generate completes successfully for both formats.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.