Skip to content

deemoun/ZV-Tube

Repository files navigation

ZV Tube

Простое WPF-приложение для поиска, загрузки и воспроизведения видео и аудио с YouTube. Использует yt-dlp и mpv в качестве внешних инструментов.

Окно приложения

🚀 Возможности

  • 🔎 Поиск видео по ключевым словам (до 30 результатов)
  • 📥 Загрузка видео или только аудио (MP3)
  • ▶️ Воспроизведение видео или аудио через mpv
  • 📂 Открытие папки загрузок
  • 📊 Табличный список с возможностью сортировки по столбцам

🛠 Зависимости

Внешние утилиты

  • yt-dlp — для получения метаданных и загрузки видео
  • ffmpeg — необходим для конвертации при загрузке
  • mpv — для воспроизведения видео и аудио

Все .exe файлы должны находиться в одной папке с исполняемым файлом приложения:

/ZV Player/
  ├─ yt-dlp.exe
  ├─ ffmpeg.exe
  ├─ mpv.exe
  └─ ZV Player.exe

NuGet-пакеты

Проект использует стандартные библиотеки WPF. Внешние пакеты не требуются.

📁 Структура проекта

ZV Player/
├── Models/
│   └── YouTubeVideo.cs      # Модель данных YouTube-видео
├── Services/
│   ├── SearchService.cs     # Обёртка над yt-dlp для поиска
│   └── VideoService.cs      # Скачивание, воспроизведение и утилиты
├── MainWindow.xaml          # XAML-интерфейс главного окна
├── MainWindow.xaml.cs       # Логика взаимодействия и обработчики событий
└── README.md

🧠 Как работает

  1. Поиск — при вводе запроса запускается yt-dlp ytsearch30:"..." --print-json, парсятся результаты, заполняется ObservableCollection.
  2. Загрузкаyt-dlp скачивает видео или аудио, путь указывается в формате downloads/Название.%(ext)s.
  3. Воспроизведениеmpv.exe запускается с нужной ссылкой и флагами.
  4. Сортировка — реализована через CollectionView, поддерживается кликом по заголовкам столбцов.

⚙️ Сборка

Открыть проект в Visual Studio (Windows), тип проекта — WPF App (.NET).

📌 Заметки

  • Убедитесь, что yt-dlp, ffmpeg, и mpv доступны рядом с .exe. Они обязательны для функционирования приложения.
  • Папка загрузок автоматически создаётся в ./downloads/.

📌 Создано с ❤️ для локального использования.
⚠️ Программа предназначена исключительно для личного использования.
Разработчик не несёт ответственности за использование приложения с нарушением правил использования YouTube, а также за любые возможные последствия, связанные с его функционированием.