FFmigo is a smart tool designed to simplify video and audio editing by translating your plain English instructions into complex FFmpeg commands. Instead of memorizing confusing command-line options, you can simply tell FFmigo what you want to do—like "trim my video to the first 10 seconds" or "add my logo to the bottom right corner"—and it will instantly generates and executes the correct command for you.
At its core, FFmigo uses an AI to understand your request and act as your expert FFmpeg assistant, making powerful video editing accessible to everyone, from content creators to developers. You describe your editing tasks in natural language, and the app uses a local LLM (Large Language Model) to generate and run FFmpeg commands.
Check out these quick demos :
Learn how to trim your video and revert changes by going back to previous checkpoints:
See how to fast forward video segments and add your logo to the video:
- Drag-and-drop video loading
- Chat interface for natural language video editing
- LLM integration (Ollama, LM Studio, etc.)
- Secure FFmpeg command execution
- Processed video preview, play, and export
- Configurable settings (LLM endpoint, model, FFmpeg path, export directory)
- Python 3.10+
- FFmpeg (must be installed and accessible)
- A local LLM server (e.g., Ollama, LM Studio, etc.)
-
Clone the repository
-
Create a virtual environment (recommended):
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Python dependencies:
pip install -r requirements.txt
-
Install FFmpeg:
- macOS:
brew install ffmpeg - Windows: Download from ffmpeg.org and add to PATH
- Linux:
sudo apt install ffmpeg
- macOS:
-
(Optional) Set up your local LLM server:
- Example: Ollama
- Start your LLM server and note the API endpoint and model name
python main.py- Click the Settings button in the app.
- Set:
- LLM API Endpoint (e.g.,
http://localhost:11434/api/generate) - LLM Model Name (e.g.,
llama3) - FFmpeg Path (e.g.,
ffmpegor full path) - Default Export Directory
- LLM API Endpoint (e.g.,
- Load a video: Drag and drop or click the area to select a file.
- Enter commands: Type natural language instructions (e.g., "trim from 10 to 20 seconds").
- Process: The app will show the FFmpeg command, run it, and display the result.
- Play/Export: Use the Play and Export buttons for the processed video.
- If you see errors about missing modules, ensure you installed all dependencies and activated your virtual environment.
- If FFmpeg commands fail, check your FFmpeg path in Settings and test it.
- If LLM commands fail, ensure your local LLM server is running and accessible.
Apache 2.0