Why Plex video preview thumbnails take so long, and how to speed them up

Plex makes preview thumbnails on the CPU inside the server, at a frame every 2 seconds by default. How to tune Plex, or move the work to a GPU.

Plex makes video preview thumbnails inside Plex Media Server, on the CPU. Plex's support articles say the job "essentially requires a transcode" of each file, and call it CPU-intensive. By default Plex grabs a frame every 2 seconds, and it runs the job during its scheduled maintenance. So a large library can take "hours or even days". To speed it up:

Why it is slow

Speed it up with Plex's own settings

Try these first. They cost nothing.

  1. Limit it to the libraries that need it. Preview generation can be turned off per library. It is an advanced setting when you create or edit a library (Plex Support). Home videos or rarely watched libraries may not need previews at all.
  2. Keep key-frame-only extraction on. GenerateBIFKeyframesOnly "greatly speeds up processing and reduces CPU usage". It defaults to on. Check that nobody turned it off.
  3. Raise the frame interval. GenerateBIFFrameInterval sets the seconds between thumbnails. Going from 2 to 5 or 10 means far fewer frames, with coarser scrubbing. Both are hidden settings: they live in Preferences.xml on Linux, the registry on Windows, and a .plist on macOS. Restart Plex after changing them. Plex documents both in Advanced, Hidden Server Settings, last modified 8 December 2022. We have not confirmed they behave the same on every current Plex release.
  4. Don't turn on "when media is added" right before a big import. Plex's own warning: the server may spend hours or days on it.

If that is fast enough, stop here. The built-in needs no extra software.

Move the work to a GPU

Media Preview Generator is a free, MIT-licensed Docker app. It makes the same BIF files Plex would, using FFmpeg with GPU decoding (NVIDIA, Intel or AMD). It then writes them into Plex's data folder, where Plex serves them to its apps. A full scan can run for hours while new imports, set to High priority, jump ahead of it. It differs from the built-in in several ways:

Once it is running, set Plex's Settings → Library → Generate video preview thumbnails to Never, so Plex doesn't do the same work again. Setup steps are in Generate Plex preview thumbnails with a GPU.

Note

Speed depends on your GPU, the codec, your storage and the frame interval. This app defaults to one frame every 10 seconds (Settings → Processing Options → Thumbnail interval, 1 to 60). If you compare, use the same interval on both. If your disks are the bottleneck, a GPU won't fix that. On multi-disk shares, see the FAQ entry on disk-bound setups.

Limits to know first

Edit this page on GitHub
Type to search the documentation.