Video Splitter
2025A cross-platform Python desktop tool built with Tkinter and ttkbootstrap for splitting video files into equal-length segments. Features background worker threads, live progress monitoring, and automated FFmpeg video segment export to organized folders.
Video Splitter is an open-source desktop tool built to automate the chore of cutting long videos into equal-length clips. It is designed for creators preparing footage for platforms like WhatsApp Status, Instagram Stories, and TikTok.
The tool features a modern dark GUI styled with ttkbootstrap's Cyborg theme. Users choose input video files (.mp4, .avi), specify segment duration in minutes and seconds, and export with visual progress tracking and automated folder organization.
I developed the utility in Python using MoviePy and imageio-ffmpeg for media processing. To keep the UI responsive during video encoding, I built a multi-threaded architecture decoupling FFmpeg rendering from the Tkinter event loop.
Challenge
Video processing with MoviePy and FFmpeg is computationally intensive. Running media rendering directly on the standard Tkinter main loop caused the desktop GUI to freeze completely, preventing progress bar updates and stopping user cancellation.
Solution
I implemented a multi-threaded execution pipeline using Python's threading library. Video slicing is offloaded to background threads while thread-safe callbacks periodically update ttkbootstrap progress indicators, keeping the user interface completely responsive throughout.
Interested in something similar?
Have a project in mind or want to know more about how this was built? Drop me a message, I'd love to connect.