A real-time video effects application built with Python, PySide6, and OpenCV. Apply stunning effects to your videos with live preview and export functionality.
- Drag & Drop Video Loading - Simply drag video files into the window
- Live Side-by-Side Preview - See original and processed video in real-time
- Real-time Effects Processing - Apply effects with instant feedback
- Export Processed Videos - Save your edited videos with background processing
- Play/Pause Control - Control playback with FPS display
- Grayscale - Convert to black and white
- Canny Edge Detection - Highlight edges in the video
- Gaussian Blur - Apply smooth blur effect
- Sharpen - Enhance image sharpness using unsharp mask
- Sepia Tone - Apply vintage sepia color effect
- Cartoon Effect - Transform video into cartoon-like appearance
- Pixelate - Create retro pixelated effect
- HSV Adjust - Fine-tune Hue, Saturation, and Value
- Glitch Effect - Digital corruption with channel shifts
- Motion Blur - Apply directional motion blur
- Effect selection dropdown
- Dynamic parameter sliders (intensity, strength, pixel size, etc.)
- Auto-hiding controls based on selected effect
- Live parameter adjustment with instant preview
videofx-studio/
βββ main.py # Main application and UI
βββ effects.py # Video effects and image utilities
βββ video_io.py # Video reading and export functionality
βββ requirements.txt # Python dependencies
βββ README.md # Project documentation
βββ LICENSE # MIT License
βββ .gitignore # Git ignore patterns
βββ dist/ # Built executables
βββ VideoFXStudio.exe
- Python 3.10 or higher
- Windows OS (primary platform)
-
Clone the repository
git clone https://github.com/MRH-Romit/video-editor.git cd video-editor -
Create a virtual environment
python -m venv .venv .venv\Scripts\activate # Windows
-
Install dependencies
pip install -r requirements.txt
Or manually:
pip install --upgrade pip pip install PySide6 opencv-python pyinstaller
Development Mode:
python main.pyUsing the Executable:
- Build the executable (see Building section below)
- Run
dist/VideoFXStudio.exe
- Load Video: Drag and drop a video file or use the "Open..." button
- Select Effect: Choose from the dropdown menu
- Adjust Parameters: Use the sliders to fine-tune the effect
- Preview: Watch the real-time side-by-side comparison
- Export: Click "Save Processed..." to export your edited video
- Input: MP4, MOV, AVI, MKV, WEBM
- Output: MP4 (MP4V codec)
Create a standalone Windows executable:
pyinstaller --noconfirm --onefile --windowed --name "VideoFXStudio" main.pyThe executable will be available in the dist/ folder.
- Modular Design: Separated into main UI, effects processing, and video I/O
- UI Framework: PySide6 (Qt for Python)
- Video Processing: OpenCV with NumPy for efficient array operations
- Threading: QThread for video reading and export processing
- Real-time Processing: Frame-by-frame effect application with parameter updates
main.py: Main application window, UI components, and event handlingeffects.py: Video effects implementation, image utilities, and effect parametersvideo_io.py: Video reading thread and background export worker
- Performance depends on CPU/GPU and video resolution
- For better performance on high-resolution videos, consider resizing the preview window
- Effects are applied in real-time, so complex effects may reduce playback smoothness
PySide6>=6.0.0
opencv-python>=4.5.0
numpy>=1.20.0
pyinstaller>=5.0.0Contributions are welcome! Here are some ways you can contribute:
- Add New Effects: Implement additional video effects in
effects.py - Performance Improvements: Optimize processing algorithms
- UI Enhancements: Improve the user interface in
main.py - Cross-Platform Support: Add Linux/macOS compatibility
- Bug Fixes: Report and fix issues
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- GPU acceleration (CUDA/OpenCL support)
- Additional effects (background blur, stabilization)
- Color LUT support
- Batch processing
- Timeline editing
- Audio processing
- Linux/macOS support
- Plugin system for custom effects
- Some effects may be CPU-intensive on high-resolution videos
- Limited to MP4V codec for output (H.264 support requires additional OpenCV build)
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with PySide6 for the UI framework
- OpenCV for video processing capabilities
- NumPy for numerical operations
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Provide detailed information about your system and the issue