FFmpeg Pro Toolkit (Mr. Alvin Rocks) A powerful, Python-based GUI application for advanced FFmpeg media processing. Easily batch convert, trim, scale, and manipulate video and audio files with full drag-and-drop support and hardware acceleration.
π Table of Contents Features
Prerequisites and Installation
Usage
Contributing
Note: If you prefer not to use a compiled .exe file and are comfortable with Python, simply download the FFMPEG UI.py file from the code repository and run it directly!
π Features ποΈ Drag-and-Drop Batch Processing: Powered by tkinterdnd2, instantly load multiple media files by dragging them directly into the application window for bulk processing.
π Format Shifting: Seamlessly convert media to popular formats including .mp4, .mkv, .mov, .avi, .flv, and .webm.
π΅ Advanced Audio Extraction: Extract audio to MP3 format. Includes options to keep the original video frame as Album Art or inject your own custom image cover (-id3v2_version 3).
πΌοΈ Audio-to-Video Creation: Merge an audio file with a static image to generate an MP4 video (perfect for podcasts or music uploads).
ποΈ Optimized GIF & Thumbnail Creation: Generate high-quality GIFs with optimal palette generation (palettegen & paletteuse) or extract high-quality JPG thumbnails from specific timestamps.
π Hardware Acceleration: Built-in support for AMD AMF (h264_amf) encoding for blazing-fast rendering speeds, with automatic fallback to standard libx264.
βοΈ Precision Trimming: Use the HH:MM:SS input boxes to specify exact start and end times to trim your media without leaving the app.
πΊ Video Filters: Instantly scale your video resolution (1080p, 720p, 480p) or apply a Grayscale (Black & White) filter.
π Live Progress & Logging: Parses FFmpeg data in real-time to display an accurate progress bar and percentage, alongside a detailed scrolling log window.
π¨ Dynamic Animated UI: Features a sleek dark mode interface with a custom "breathing" rainbow header and progress UI.
βοΈ Prerequisites To run or develop the FFmpeg Pro Toolkit, ensure your system meets the following requirements:
β System Requirements Operating System: Windows, macOS, or Linux
Python Version: 3.7 or higher
FFmpeg: Must be installed and added to your system's PATH.
π₯ Installation π οΈ Core Dependencies FFmpeg: The core multimedia framework required to process the files.
Installation: Download from the FFmpeg official website. Make sure to add the bin folder to your system's Environment Variables (PATH).
Python Libraries:
tkinter: Standard GUI toolkit (usually bundled with Python).
tkinterdnd2: Required for the drag-and-drop functionality.
Installation: Run pip install tkinterdnd2 in your terminal or command prompt.
π§° Development Tools (Optional) PyInstaller: If you wish to convert this Python script into a standalone .exe file.
Installation: Run pip install pyinstaller.
π Usage Running the Application Ensure FFmpeg is installed and accessible via your command line.
Navigate to the folder containing the script.
Run the application via terminal: python "FFMPEG UI.py"
Processing Media Files Load Files: Drag and drop your video/audio files directly into the "DROP MEDIA FILE(S) HERE" zone, or click "Browse Files".
Select Action: Choose your desired operation from the Left Column:
Convert to MP4 (Optional: check the box to use a static image for Audio-to-MP4).
Format Shift (Select MKV, MOV, AVI, etc., from the dropdown).
Extract Audio (Optional: check boxes to map Album Art).
Create GIF or Extract Thumbnail.
Apply Edits (Optional): In the Right Column, you can:
Enable AMD AMF Hardware Acceleration.
Change resolution or apply a Grayscale filter.
Set Start and End times to trim the media.
Execute: Click the green βΆ RUN BATCH PROCESS button.
Output The application processes files in the exact same directory as your original input files.
Modified files are saved with intuitive suffixes (e.g., _processed.mp4, _audio.mp3, _animated.gif, _thumbnail.jpg) so your original files are never overwritten.
π€ Contributing Contributions are welcome! Please fork the repository, make your improvements (e.g., adding NVIDIA NVENC support, more video filters, etc.), and submit a pull request.