By default, GNOME’s file manager (Nautilus) relies on the Totem video player and the GStreamer framework. If your thumbnails are missing, it is usually due to missing codecs or a corrupted thumbnail cache. This guide covers how to fix it and switch to ffmpegthumbnailer for better performance.
Note: If your videos are on a network drive, ensure Nautilus is set to show thumbnails for "All Files" in Preferences > Performance, otherwise it will skip remote files.

Phase 1: Codecs & Cache

First, install the necessary plugins to allow GStreamer to decode common formats like MP4 and MKV. After installing, you must clear the existing "fail" cache.
# 1. Install necessary codecs (Ubuntu/Debian) sudo apt update sudo apt install ffmpegthumbnailer gstreamer1.0-libav gstreamer1.0-plugins-ugly # 2. Clear the thumbnail cache and restart Nautilus rm -rf ~/.cache/thumbnails/* nautilus -q

Phase 2: Faster Previews with FFmpeg

The default Totem thumbnailer can be slow. Switching to ffmpegthumbnailer provides faster generation and support for more obscure containers.
Step Action
Disable Totem Rename /usr/share/thumbnailers/totem.thumbnailer to .bak
Create Config Create /usr/share/thumbnailers/ffmpegthumbnailer.thumbnailer
MIME Types Add video/mp4, video/x-matroska, video/webm, etc.
Paste the following configuration into your new .thumbnailer file:
[Thumbnailer Entry] TryExec=ffmpegthumbnailer Exec=ffmpegthumbnailer -i %i -o %o -s %s -f MimeType=video/3gpp;video/3gpp2;video/dv;video/isivideo;video/mj2;video/mp2t;video/mp4;video/mpeg;video/ogg;video/quicktime;video/vnd.mpegurl;video/vnd.rn-realvideo;video/vnd.vivo;video/wavelet;video/webm;video/x-anim;video/x-flic;video/x-flv;video/x-javafx;video/x-matroska;video/x-mjpeg;video/x-mng;video/x-msvideo;video/x-ms-wmv;video/x-nsv;video/x-ogm+ogg;video/x-sgi-movie;video/x-theora+ogg;video/x-matroska-3d;video/vnd.avi;

Troubleshooting

Manual Cache Reset Command:
# If individual files won't update, force a global refresh: rm -rf ~/.cache/thumbnails/fail/* rm -rf ~/.cache/thumbnails/large/* rm -rf ~/.cache/thumbnails/normal/* killall nautilus