Skip to content

PrEvIeS/ytmv

Repository files navigation

ytmv

Интерактивный CLI-визард для скачивания видео и аудио с поддержкой кириллицы.

Возможности

  • 🎬 Скачивание видео (MP4) и аудио (M4A, MP3, FLAC, OPUS)
  • 📋 Поддержка плейлистов с выбором диапазона
  • 🎯 Выбор качества (4K/1080p/720p/480p для видео, 320/256/192/128 kbps для аудио)
  • 🖼️ Скачивание превью (thumbnails)
  • 📝 Скачивание субтитров (ru/en/auto)
  • 🏷️ Встраивание метаданных (название, автор, обложка)
  • 🔄 Транслитерация кириллицы в имена файлов
  • 💫 Интерактивный визард с навигацией назад
  • 📊 Прогресс-бар для скачивания
  • ⚡ Параллельное скачивание плейлистов
  • 🔁 Retry при сетевых ошибках
  • 📜 История скачиваний
  • ⚙️ Конфигурационный файл
  • 🌍 Поддержка 1000+ видео-платформ

Поддерживаемые платформы

Скрипт работает с любым сайтом, поддерживаемым yt-dlp:

Платформа Видео Плейлисты
YouTube
Vimeo
TikTok
Instagram
Twitter/X
Facebook
Reddit
Twitch
Rumble
Odysee
Bilibili
Dailymotion
Rutube
VK
OK

... и многие другие (1000+ сайтов)

Требования

  • Python 3.10+
  • yt-dlp
  • ffmpeg

Установка

macOS (Homebrew - рекомендуется)

# Добавить tap
brew tap PrEvIeS/tap

# Установить ytmv
brew install ytmv

macOS (вручную)

# Установка зависимостей
brew install yt-dlp ffmpeg

# Установка Python-библиотек
pip3 install --break-system-packages click rich questionary

# Скачивание скрипта
mkdir -p ~/Documents/scripts
curl -sL https://raw.githubusercontent.com/PrEvIeS/ytmv/main/ytmv.py -o ~/Documents/scripts/ytmv
chmod +x ~/Documents/scripts/ytmv

# Добавить в PATH (опционально)
sudo ln -sf ~/Documents/scripts/ytmv /usr/local/bin/ytmv

Linux (Ubuntu/Debian)

# Установка зависимостей
sudo apt update
sudo apt install -y ffmpeg python3-pip
pip3 install yt-dlp

# Установка Python-библиотек
pip3 install click rich questionary

# Скачивание скрипта
mkdir -p ~/bin
curl -sL https://raw.githubusercontent.com/PrEvIeS/ytmv/main/ytmv.py -o ~/bin/ytmv
chmod +x ~/bin/ytmv

# Добавить в PATH (если нет)
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Linux (Arch)

# Установка зависимостей
sudo pacman -S ffmpeg python-pip
pip3 install yt-dlp

# Установка Python-библиотек
pip3 install click rich questionary

# Скачивание скрипта
mkdir -p ~/bin
curl -sL https://raw.githubusercontent.com/PrEvIeS/ytmv/main/ytmv.py -o ~/bin/ytmv
chmod +x ~/bin/ytmv

Windows (PowerShell)

# Установка зависимостей через winget
winget install ffmpeg
winget install yt-dlp

# Установка Python-библиотек
pip3 install click rich questionary

# Создание папки и скачивание
mkdir "$env:USERPROFILE\scripts"
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/PrEvIeS/ytmv/main/ytmv.py" -OutFile "$env:USERPROFILE\scripts\ytmv.py"

# Добавить в PATH (опционально)
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:USERPROFILE\scripts", "User")

Использование

Интерактивный режим

Просто запустите скрипт и следуйте подсказкам:

ytmv

История скачиваний

ytmv --history
# или
ytmv -h

Просмотр конфигурации

ytmv --config
# или
ytmv -c

Flow визарда

1. Ввод URL         → "Введите URL видео или плейлиста:"
2. Предпросмотр     → Показывает тип, название, автора
3. Выбор формата    → 🎥 Видео / 🎵 Аудио
4. Выбор качества   → 4K/1080p/720p или 320/256/192/128 kbps
5. Дополнительно    → Превью, субтитры, диапазон плейлиста
6. Папка            → По умолчанию или своя
7. Подтверждение    → "Начать скачивание? [Y/n]"
8. Результат        → Файл(ы) сохранены

Качество видео

Опция Разрешение
4K 2160p
FHD 1080p
HD 720p
SD 480p/360p
Best Максимальное доступное

Форматы аудио

Формат Кодек Качество
M4A AAC До 320 kbps
MP3 LAME До 320 kbps
FLAC FLAC Lossless
OPUS Opus До 192 kbps

Папки по умолчанию

  • Видео: ~/Movies/shorts
  • Аудио: ~/Movies/audios

Конфигурация

Файл конфигурации: ~/.ytmvrc

[settings]
output_dir_video = ~/Movies/shorts
output_dir_audio = ~/Movies/audios
video_quality = 1080
audio_quality = 192k
audio_format = m4a
download_thumbnails = false
download_subtitles = false
subtitle_lang = ru
parallel_downloads = 3
max_retries = 3

Управление

  • Enter — подтвердить выбор
  • ↑/↓ — навигация в меню
  • Ctrl+C — выход на любом шаге
  • ← Назад — возврат на предыдущий шаг (в меню)

Транслитерация

Скрипт автоматически транслитерирует кириллицу в имена файлов:

Кириллица Latin
Привет privet
Москва moskva
Щука shchuka

Лицензия

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors