A graphical user interface for the ab-av1 video encoder front-end.
This application provides an easy-to-use interface for ab-av1, allowing users to perform video encodes without using the command line. It supports batch processing, various encoders, and quality-based encoding (VMAF).
- User-Friendly Interface: Simplifies the
ab-av1encoding process. - Batch Processing: Encode multiple files at once.
- Drag and Drop: Easily add files to the queue.
- Multiple Encoders: Supports a wide range of encoders, including:
libsvtav1(AV1)libx264(H.264),libx265(H.265/HEVC)libvpx-vp9(VP9)- Intel Quick Sync Video (QSV) encoders for AV1, HEVC, H.264
- NVIDIA NVENC encoders for AV1, HEVC, H.264
- Quality-Based Encoding: Target a specific VMAF score for consistent quality.
- Customizable Presets: Select presets tailored to each encoder.
- Video Scaling: Optionally resize the output video.
- Command Preview: See the exact
ab-av1command before running. - Real-time Logging: Monitor the encoding progress directly in the app.
- Cross-Platform Theme: Uses
sv-ttkto provide a modern look and feel that adapts to your system's light or dark theme.
- Python 3
- ab-av1: The
ab-av1.exeexecutable must be located in the same directory as the GUI (gui.py) or be available in your system's PATH.
-
Clone the repository:
git clone https://github.com/your-username/ab-av1-gui.git cd ab-av1-gui -
Create a virtual environment (recommended):
python -m venv venv venv\Scripts\activate
-
Install the required Python packages:
pip install -r requirements.txt
- Ensure
ab-av1.exeis in the application directory or your system's PATH. - Run the application:
Alternatively, you can use the
python gui.py
ab-av1-gui.batbatch file on Windows. - Add video files using the "Add Files..." button or by dragging and dropping them into the file list.
- Select your desired encoding options (encoder, preset, VMAF score, etc.).
- Click "Preview" to see the generated command for the selected file.
- Click "Run All" to start the encoding process for all files in the queue.
The application relies on the following Python libraries:
- sv-ttk: For the application's theme.
- darkdetect: To automatically switch between light and dark themes.
- tkinterdnd2: To enable drag-and-drop functionality.
