A fully automated video contact sheet generator for Windows using FFmpeg + VCSI.
This tool:
- Generates 5×5 preview grids
- Extracts video metadata automatically
- Handles MKV files seamlessly (auto-remux → preview → cleanup)
- Supports batch processing
- Outputs clean previews into a dedicated
previews/folder
- ✅ Batch processing (folder support)
- ✅ Automatic MKV → MP4 remux (no quality loss)
- ✅ Preserves original
.mkvfilename in preview - ✅ Skips already processed files
- ✅ Clean metadata header (custom template)
- ✅ Timestamped thumbnails
- ✅ Organized output (
/previewsfolder)
project/
│
├── vcsi_batch.py
├── template.txt
├── template_mkv.txt
└── previews/ (auto-created)
- Python 3.11 or 3.12 recommended
pip install vcsi
ffmpegffprobe
-
Install Python 3.11
-
Install VCSI:
py -3.11 -m pip install vcsi -
Ensure FFmpeg is installed and accessible:
ffmpeg -version
Run the script:
python vcsi_batch.py
Enter:
X:\Videos\Movies\ABC.mp4
X:\Videos\Movies
Previews are saved in:
<video_folder>/previews/
Example:
X:\Videos\Movies\ABC_preview.jpg
→ Direct VCSI processing
→ Remux to temporary MP4 (no re-encoding)
→ Generate preview
→ Delete temp file
Example output:
ABC.mkv
Size: 5.00 GB
Duration: 02:30:45
Resolution: 1920x1080
Video: hevc 5165 kbps 30 fps
Audio: aac 162 kbps
| Step | Time |
|---|---|
| Remux (MKV only) | ~20–60 sec |
| Preview generation | ~2–4 min |
| Cleanup | instant |
- HEVC videos may be slower due to decoding
- MKV remux is lossless and fast
- Script skips already generated previews automatically
Edit in script:
GRID = "5x5"
WIDTH = "1800"
FONT = "C:/Windows/Fonts/arial.ttf"
Used for normal files
Ensures .mkv extension is preserved in previews
- Parallel processing
- GUI interface
- Drag & drop support
- EXE build (no Python needed)
This tool provides a clean, automated, production-ready workflow for generating video preview sheets with:
✔ Accurate metadata ✔ Consistent layout ✔ Zero manual effort
Free for personal use.
- FFmpeg
- VCSI (Video Contact Sheet Improved)
- Jinja2 templating engine
Built for efficiency, automation, and clean output.