A Python-based video utility that reverses one or more videos frame by frame. Use it via the command line or an intuitive web interface powered by Gradio.
- ✅ Reverse videos frame by frame with accurate timing.
- 📂 Upload one or several videos at once (batch support).
- 🎥 Preview the original and reversed versions directly in the interface.
- 🖼️ Optionally extract and display individual frames.
- 🔁 Combine original and reversed videos (
aborbamode). - 🖥️ Dual-mode: Gradio Web UI or Command-Line Interface.
- 🗂️ Output video files saved in
reversed_videos/. - 🗂️ Extracted frames saved in
extracted_frames/.
git clone https://github.com/your-user/ReverseVideoTool.git
cd ReverseVideoToolDouble-click or run in terminal:
run.batThis will:
- Set up a virtual environment (
venv) - Install all dependencies (
requirements.txt) - Launch either the CLI or the Gradio app
python reverse_video.py --video myclip.mp4 anotherclip.mp4 --keep-frames --video-loop ab| Option | Description |
|---|---|
--video |
One or more paths to video files to reverse |
--keep-frames |
Store the extracted frames in extracted_frames/ |
--video-loop |
ab = original+reverse, ba = reverse+original |
python reverse_video.py --video input.mp4 --keep-frames --video-loop baTo launch:
python reverse_video.py- Upload multiple videos
- Checkbox to retain frames
- Radio button to choose video combination: none /
ab/ba - Visual previews for both input and output
- Frame gallery display (if enabled)
📂 reversed_videos/
└── myvideo_reversed.mp4
└── myvideo_combo_ab.mp4
📂 extracted_frames/
└── myvideo/
└── frame_00001.jpg
└── ...
Install them manually (if needed):
pip install -r requirements.txtmoviepygradioargparse
- All videos are processed frame-by-frame, avoiding timing drift.
- Video previews in Gradio are rendered using temporary files.
- Output names follow the pattern:
basename_reversed.mp4basename_combo_ab.mp4orbasename_combo_ba.mp4
Mike Castro de Maria - Supersonique Studio
MIT License


