Is there a way to refresh the thumbnails in the timeline after replacing original files?

Since you mentioned SQLite, I got curious and opened the database file, too. As you said, there is a thumbnails table in the database which has a blob (Binary Large OBject) field called “image”, which contains the thumbnail image itself in PNG format. There are no references to external files on the filesystem. It is self-contained. If you open the database with “DB Browser for SQLite”, you can even view the image contained in the blob field.

In light of this, the proper way to clear the Shotcut thumbnail cache is to delete this file:
%LOCALAPPDATA%\Meltytech\Shotcut\db.sqlite3

Do NOT delete other files or folders in the Meltytech or Shotcut folder! If you do, you will lose your export presets, your auto-save data, and your filter presets.

The database also has a “hash” field, which in theory should be able to detect when the new source file is no longer the same as the thumbnail’s original source file, and could regenerate a thumbnail accordingly. However, in practice, some of my source files are >80GB in size (each) and it would take forever to hash them just to see if thumbnails needed updating. That’s a waste of time and disk I/O. @shotcut, if it doesn’t already, what if Shotcut built the hash on the first megabyte and last megabyte of the source file concatenated together? It might be a “good enough” hash check for a file modification without burning tons of disk I/O. Maybe it does this already… I didn’t look at the source code yet…

2 Likes