.
Gemini, DeepSeek, pa Gemini, pa Deepseek pa na kraju Grok. Grok je bio ljubazan da napise i readme file
Arhiva je portable (bar bi trebala biti).
Da ne zaboravim, Gemini je opet bio rogue, počeo brljati gui dugmad, brisati funkcije i čuda. Kad sam tražio da "vrati na pređašnje stanje" napiše evo sorry i opet još gore
NVIDIA GPU Video Converter
A Python-based desktop application for converting videos using NVIDIA GPU acceleration. Built with PyQt6 for an intuitive GUI, it leverages FFmpeg with NVENC for fast, high-quality video transcoding.
Features
Video Conversion:
Convert videos to H.264, HEVC, or AV1 codecs using NVIDIA NVENC.
Supports input formats: .mp4, .mov, .mkv, .avi, .hevc, .h265.
Adjustable quality (High, Medium, Low) and speed (Fast, Balanced, Slow) settings.
Batch Processing:
Convert single files or entire folders of videos.
Tracks progress with a GUI progress bar and estimated time remaining.
Output File Management:
Automatically generates unique filenames (e.g., video_1.mp4) to prevent overwriting.
Ensures input files and existing outputs are not overwritten.
Logs renaming events in the debug window.
GPU Monitoring:
Real-time display of NVIDIA GPU utilization via progress bars:
3D/Compute, Video Encode (NVENC), Video Decode (NVDEC), and VRAM.
Shows GPU model (e.g., GeForce RTX 4090) and supported codecs.
Matches Task Manager’s video engine metrics for accuracy.
User-Friendly GUI:
Built with PyQt6, featuring:
File/folder selection for input/output.
Codec, quality, and speed dropdowns.
Start/Stop conversion buttons.
Debug log with FFmpeg output, FPS, and speed (e.g., “FPS: 30.0, Speed: 1.0x”).
Robust error handling for FFmpeg and GPU issues.
Performance:
High-priority process on Windows for optimal performance.
Hardware-accelerated decoding (e.g., hevc_cuvid, av1_cuvid).
Optimized NVENC settings for quality and speed.
Requirements
Hardware
NVIDIA GPU with NVENC support (GTX 900 series or newer for H.264/HEVC; RTX 4000 series for AV1).
4GB+ VRAM recommended for HD/4K videos.
Windows 10/11 (64-bit).
Software
Python: 64-bit Python 3.8+ (3.10 recommended).
FFmpeg: NVIDIA-accelerated build with NVENC support.
NVIDIA Drivers: Version 470+ for NVML and NVENC support.
Python Packages:
PyQt6
pynvml
OS: Windows (tested); Linux/macOS may work with adjustments.
Installation Instructions
Clone the Repository:
git clone
https://github.com/your-username/nvidia ... verter.gitcd nvidia-gpu-video-converter
Set Up a Virtual Environment (recommended):
python -m venv venv
.\venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/macOS
Install Python Dependencies:
pip install PyQt6 pynvml
Download FFmpeg:
Download an NVIDIA-accelerated FFmpeg build from BtbN/FFmpeg-Builds (look for gpl-shared-nvenc).
Extract ffmpeg.exe and ffprobe.exe from the bin folder.
Place both files in the repository’s root directory (same level as main.py).
Install NVIDIA Drivers:
Ensure your NVIDIA GPU drivers are up-to-date (download from NVIDIA’s website).
Verify NVENC support using nvidia-smi or the NVIDIA Control Panel.
Run the Application:
python main.py
Usage
Launch the Application:
Run python main.py to open the GUI.
The GPU model and supported codecs (e.g., H.264, HEVC, AV1) will appear in the GPU stats section.
Select Input:
Click “Browse File…” to choose a single video or “Browse Folder…” for batch conversion.
Supported formats: .mp4, .mov, .mkv, .avi, .hevc, .h265.
Select Output:
Click “Browse…” to choose an output folder.
Output files are named inputname_counter.mp4 (e.g., video_1.mp4) to avoid overwrites.
Configure Settings:
Choose output codec (H.264, HEVC, AV1) from the dropdown.
Select quality (High, Medium, Low) and speed (Fast, Balanced, Slow).
Start Conversion:
Click “Start Conversion” to begin.
Monitor progress via the progress bar and debug log (shows FFmpeg output, FPS, speed).
Stop conversion with “Stop Conversion” if needed.
Review Output:
Converted files appear in the output folder.
Check the debug log for details (e.g., renaming events, errors).
Troubleshooting
“FFmpeg Not Found”:
Ensure ffmpeg.exe and ffprobe.exe are in the repository root.
Verify you downloaded an NVIDIA-accelerated build.
“No NVIDIA GPU Detected”:
Check NVIDIA drivers are installed and up-to-date.
Ensure pynvml is installed (pip install pynvml).
Run nvidia-smi to confirm GPU detection.
“32-bit Python Detected”:
Install 64-bit Python, as NVIDIA drivers require it.
Conversion Fails:
Check the debug log for FFmpeg errors (e.g., unsupported codec, invalid input).
Ensure the output folder is writable.
Verify input file integrity.
GPU Utilization Mismatch:
The app shows NVENC/NVDEC usage, which aligns with Task Manager’s video engine, not 3D usage.
Low 3D usage is normal during NVENC encoding.
Contributing
Contributions are welcome! To contribute:
Fork the repository.
Create a feature branch (git checkout -b feature/your-feature).
Commit changes (git commit -m "Add your feature").
Push to the branch (git push origin feature/your-feature).
Open a Pull Request.
Please include tests and update documentation for new features.
License
This project is licensed under the MIT License. See LICENSE for details.
Acknowledgments
Built with PyQt6 for the GUI.
Uses FFmpeg for video processing.
GPU monitoring via pynvml.
Inspired by the need for fast, GPU-accelerated video conversion.