Recently I started using Seafile as a dedicated solution for my ever growing image library. I stored images in a Nextcloud instance hosted on Digitalocean droplet but considering the server is severly restricted in terms of disk space (20 GB), I knew from the beginning it won't work out in long run especially if I use the instance as a central image repository for everyone in the family. Long story short, I am in the process of testing Seafile as a image only solution with the instance living on my home server.

Performance benefits/issues as against Nextcloud aside, there were a couple of things that caught my eye in Seafile and felt like a good enhancement. Video thumbnails being one of them. Seafile gives an option of generating thumbnails (turn off by default) for video files as well and replaces the same with the default video icon. Great!

Quickly seaching their manual, I came across the option of setting up following flag

# Enable or disable thumbnail for video. ffmpeg and moviepy should be installed first.
# For details, please refer to https://manual.seafile.com/deploy/video_thumbnails.html
# NOTE: since version 6.1
ENABLE_VIDEO_THUMBNAIL = False

in seahub_settings.py file located under /opt/seafile-data/seafile/conf directory (assuming Seafile docker image is being used). Nice and easy. The comments above the setting also mention further instructions and point to a link, which (as of writing this article) didn't work. Anyhow, considering this feature was introduced in release 6.1, their changelog page contained all the necessary libraries I needed for it work. The instructions there mention installation for when you are using Seafile's linux binaries and not their docker image.

If in case you are using Seafile's docker image, like myself, the steps are slightly different, all the required dependencies should be installed in docker image itself and NOT on the host machine running docker image. Anyhow, following are the set of commands you need to run alongside flag mentioned above to start using video thumbnails,

docker exec seafile apt install -y ffmpeg
docker exec seafile apt update
docker exec seafile pip install pillow moviepy