Skip to content

No preview generated for .MOV files (video/quicktime) while .MP4 works fine #565

@xangel99

Description

@xangel99

Steps to reproduce

  1. Run Nextcloud 29.x in Docker with PostgreSQL and Redis.
  2. Enable previews and configure OC\Preview\Movie provider with ffmpeg/ffprobe installed (/usr/bin/ffmpeg, /usr/bin/ffprobe).
  3. Upload .MOV video files (recorded on iPhone).
  4. Run:
    occ files:scan --generate-metadata=1
    occ preview:generate

Expected behavior

  • Previews should be generated for .MOV (video/quicktime) files, the same way as for .mp4 files.
  • In the web and mobile clients, videos should appear in the Media tab with thumbnails (first frame of the video), not just in Files with a generic icon.

Actual behavior

  • .MOV files are detected as video/quicktime, but preview generation fails with:
    No preview generator available for file of typev
    
  • The Movie preview provider works fine for .mp4, but not for .mov.
  • In the database, some .mov files were initially misclassified with mimetype v instead of video/quicktime.
  • After correcting the DB entries and ensuring mimetypemapping.json includes .mov → video/quicktime, the issue persists.
  • As a result, .mov files only show a generic video icon, not thumbnails.

System configuration

  • Nextcloud version: 29.0.16 (nextcloud:29-apache Docker image)
  • OS: Debian 13 host
  • Database: PostgreSQL 16 (postgres:16-alpine)
  • Redis: 7-alpine
  • PHP: 8.2.29

Preview providers enabled:

OC\Preview\PNG
OC\Preview\JPEG
OC\Preview\GIF
OC\Preview\BMP
OC\Preview\XBitmap
OC\Preview\MP3
OC\Preview\TXT
OC\Preview\MarkDown
OC\Preview\Movie
OC\Preview\HEIC
OC\Preview\TIFF
OC\Preview\SVG

Config overrides:

preview_ffmpeg_path  => /usr/bin/ffmpeg
preview_ffprobe_path => /usr/bin/ffprobe

ffmpeg version:

ffmpeg version 5.1.7-0+deb12u1
built with gcc 12 (Debian 12.2.0-14+deb12u1)

Verification:
Running ffmpeg manually on .MOV works and produces valid thumbnails:

ffmpeg -y -ss 00:00:01 -i IMG_4421.MOV -frames:v 1 -vf "scale=640:-1" /tmp/test_mov_thumb.jpg
# → Correct image extracted.

Database observations:

  • Before fixes:
    full_mime = v
    mime_part = NULL
    
  • After cleanup:
    full_mime = video/quicktime
    mime_part = video
    

Yet previews are still not generated → error remains:

No preview generator available for file of typev

Conclusion

There seems to be a bug in the OC\Preview\Movie provider:

  • It does not recognize .MOV (video/quicktime) even when ffmpeg and mimetype mappings are properly configured.
  • .mp4 works fine under the exact same setup.
  • This prevents Nextcloud from generating thumbnails/previews for iPhone videos, affecting usability in the Media view.

Steps already attempted

  • Added .mov → video/quicktime mapping in mimetypemapping.json.
  • Ran occ maintenance:mimetype:update-db and update-js.
  • Fixed DB entries (oc_filecache, oc_mimetypes) to ensure video/quicktime.
  • Cleared previews cache and rescanned files.
  • Verified ffmpeg/ffprobe binaries and manual thumbnail generation.
  • Restarted containers (app + cron).

➡️ Despite all this, Nextcloud still refuses to generate previews for .MOV.


Request

Please add/fix support for .MOV (video/quicktime) in OC\Preview\Movie, so that:

  • Previews are generated (using ffmpeg, like .mp4).
  • Videos appear in the Media tab with thumbnails, not only in Files with a generic icon.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions