Универсальный медиазагрузчик
Universal Media Downloader — это кросс-платформенное десктопное приложение для загрузки медиа (видео и аудио), написанное на Python с использованием фреймворка PyQt6.
Приложение построено на многопоточной архитектуре (QThreadPool, QRunnable) для обеспечения полностью отзывчивого UI во время операций. В качестве бэкенда используется yt-dlp для поддержки сотен сайтов (YouTube, VK, TikTok, RuTube и др.) и FFmpeg для постобработки (например, слияния форматов или извлечения аудио).
Ключевые возможности:
- Параллельная загрузка нескольких файлов с управлением очередью (старт, стоп, повтор задачи).
- Гибкий ввод: прямая вставка URL, пакетная вставка из буфера, drag-and-drop ссылок и txt файлов.
- Продвинутые настройки:
- Выбор качества (включая "только аудио") индивидуально для каждого сервиса.
- Поддержка Cookies (из файла или через авто-детекцию браузера) для доступа к приватному контенту.
- Автоматическая загрузка субтитров.
- Современный UI:
- Кастомные виджеты (QListWidget) для отображения элементов списка (превью, прогресс, статус).
- Полная кастомизация тем (Light/Dark) через QSS.
- Интернационализация (i18n) с переключением языка (Ru/En/Uk) на лету.
- Надежность: логирование, проверка наличия ffmpeg при старте, очистка временных файлов при отмене.
Приложение построено на многопоточной архитектуре (QThreadPool, QRunnable) для обеспечения полностью отзывчивого UI во время операций. В качестве бэкенда используется yt-dlp для поддержки сотен сайтов (YouTube, VK, TikTok, RuTube и др.) и FFmpeg для постобработки (например, слияния форматов или извлечения аудио).
Ключевые возможности:
- Параллельная загрузка нескольких файлов с управлением очередью (старт, стоп, повтор задачи).
- Гибкий ввод: прямая вставка URL, пакетная вставка из буфера, drag-and-drop ссылок и txt файлов.
- Продвинутые настройки:
- Выбор качества (включая "только аудио") индивидуально для каждого сервиса.
- Поддержка Cookies (из файла или через авто-детекцию браузера) для доступа к приватному контенту.
- Автоматическая загрузка субтитров.
- Современный UI:
- Кастомные виджеты (QListWidget) для отображения элементов списка (превью, прогресс, статус).
- Полная кастомизация тем (Light/Dark) через QSS.
- Интернационализация (i18n) с переключением языка (Ru/En/Uk) на лету.
- Надежность: логирование, проверка наличия ffmpeg при старте, очистка временных файлов при отмене.