Оригинальный FOSWLY/vot-cli качал только стандартный TTS. Эта версия использует живые голоса Яндекса по умолчанию - озвучка звучит намного естественнее и качественнее!
| Фича | Описание | Статус |
|---|---|---|
| 🎤 Живые голоса | Поддержка useLivelyVoice - более естественная озвучка от Яндекса |
✅ Работает |
| 🎚️ Выбор типа озвучки | Параметр --voice-style (live/tts) для переключения между живыми голосами и TTS |
✅ Работает |
| 📝 Умные названия файлов | Автоматическое именование по названию видео (например: Rick_Astley_-_Never_Gonna_Give_You_Up.mp3) |
✅ Работает |
| 🎬 Объединение видео | Параметр --merge-video для создания видео с встроенным переводом |
|
| 🔊 Настройка громкости | Параметры --translation-volume и --original-volume |
✅ Работает |
| 🤖 Режимы вывода | --quiet для скриптов (только ссылка), --json для программной обработки |
✅ Работает |
| 📚 Полная документация | Wiki на 1200+ строк с примерами и FAQ | ✅ Готово |
npm install -g vot-cli-live# Скачать только аудио перевод с живыми голосами (файл назовётся по названию видео)
vot-cli-live --output="." "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Результат: Rick_Astley_-_Never_Gonna_Give_You_Up.mp3
# Скачать со стандартным TTS
vot-cli-live --output="." --voice-style=tts "https://www.youtube.com/watch?v=VIDEO_ID"
# Скачать ВИДЕО с встроенным переводом (требует yt-dlp и ffmpeg)
vot-cli-live --output="." --merge-video "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Результат: Rick_Astley_-_Never_Gonna_Give_You_Up.mp4 (видео с переводом)
# Видео с переводом БЕЗ оригинального аудио
vot-cli-live --output="." --merge-video --keep-original-audio=false "https://www.youtube.com/watch?v=VIDEO_ID"
# Настройка громкости: тихий оригинал (30%), громкий перевод (150%)
vot-cli-live --output="." --merge-video --original-volume=0.3 --translation-volume=1.5 "https://www.youtube.com/watch?v=VIDEO_ID"
# Идеально для изучения языка: слышишь оригинал на фоне + чёткий перевод
# 🤖 Для скриптов и автоматизации:
# Получить только ссылку на аудио (для mpv, vlc и других плееров)
vot-cli-live --quiet "https://www.youtube.com/watch?v=VIDEO_ID"
# Результат: https://vtrans.s3-private.mds.yandex.net/...
# Получить путь к видео с переводом (если используется --merge-video)
vot-cli-live --quiet --merge-video "https://www.youtube.com/watch?v=VIDEO_ID"
# Результат: ./Video_Title.mp4
# Получить JSON с полной информацией (для программной обработки)
vot-cli-live --json "https://www.youtube.com/watch?v=VIDEO_ID"
# Результат: [{"url":"...","audioUrl":"...","success":true,"voiceType":"live"}]
# JSON с merge-video содержит дополнительно mergedVideoPath и mergedVideoSize
vot-cli-live --json --merge-video "https://www.youtube.com/watch?v=VIDEO_ID"
# Результат: [{"url":"...","audioUrl":"...","mergedVideoPath":"./Video.mp4","mergedVideoSize":"45.2","success":true}]English version: Link
Небольшой скрипт, позволяющий скачать аудио перевод от Яндекса через терминал.
💡 Полная документация: Wiki
💡 Больше примеров: EXAMPLES.md
🔧 Устранение проблем: TROUBLESHOOTING.md
vot-cli [options] [args] <link> [link2] [link3] ...— общий примерvot-cli <link>— получить перевод аудио по ссылкеvot-cli --help— показать помощь по командамvot-cli --version— показать версию скриптаvot-cli --output=<path> <link>— получить перевод аудио по ссылке и сохранить его по указаному путиvot-cli --output=<path> --reslang=en <link>— получить перевод аудио на английский и сохранить его по указаному путиvot-cli --output=<path> --voice-style=live <link>— получить перевод с живыми голосами (по умолчанию)vot-cli --output=<path> --voice-style=tts <link>— получить перевод со стандартной озвучкой TTSvot-cli --output=<path> --merge-video <link>— скачать видео с встроенным переводом (требует yt-dlp и ffmpeg)vot-cli --output=<path> --merge-video --keep-original-audio=false <link>— видео только с переводом (без оригинального аудио)vot-cli --subs --output=<path> --lang=en <link>— получить английские субтитры к видео и сохранить их по указанному путиvot-cli --output="." "https://www.youtube.com/watch?v=X98VPQCE_WI" "https://www.youtube.com/watch?v=djr8j-4fS3A&t=900s"- пример с реальными данными
--output— установить путь сохранения аудио файла перевода--output-file— установить имя файла для сохранения (требует указания пути в "--output"). Если не указано, используется название видео с YouTube--lang— установить язык исходного видео (см. Wiki - Работа с языками, чтобы узнать какие языки поддерживаются)--reslang— установить язык полученного аудио файла (см. Wiki - Работа с языками, чтобы узнать какие языки поддерживаются)--voice-style— установить тип озвучки (tts - стандартный TTS, live - живые голоса. По умолчанию: live)- Примечание: Живые голоса лучше всего работают с YouTube, Twitch, Vimeo
- Для других платформ (VK, OK.ru) автоматически используется TTS для лучшей совместимости
--force-live-voices— принудительно использовать живые голоса даже для неподдерживаемых платформ (может не работать. По умолчанию: false)--merge-video— объединить видео с аудио переводом (⚠️ экспериментально, требует yt-dlp и ffmpeg, может занять много времени)--keep-original-audio— сохранить оригинальное аудио при объединении (микшировать с переводом. По умолчанию: true)--normalize-audio— нормализовать уровни громкости для равномерного звучания (использует dynaudnorm. По умолчанию: true)--translation-volume— установить громкость перевода (0.0-2.0. По умолчанию: 1.0)--original-volume— установить громкость оригинала (0.0-2.0. По умолчанию: 1.0)--proxy— установить HTTP или HTTPS прокси в формате[<PROTOCOL>://]<USERNAME>:<PASSWORD>@<HOST>[:<port>]--quiet— минимальный вывод: только ссылка на аудио (или путь к видео если --merge-video) в stdout, ошибки в stderr (для использования в скриптах и конвейерах)--json— JSON вывод: структурированные данные для программной обработки (url, audioUrl, success, voiceType, error, mergedVideoPath, mergedVideoSize)
-h,--help— показать помощь по использованию-v,--version— показать версию скрипта--subs,--subtitles— получить субтитры к видео вместо аудио (язык субтитров для сохранения берется из--reslang)--subs-srt,--subtitles-srt— получить субтитры в формате.srtк видео вместо аудио
Версия с живыми голосами:
npm install -g vot-cli-liveОригинальная версия (без живых голосов):
npm install -g vot-cli- NodeJS 18+
- yt-dlp (рекомендуется для автоматических названий файлов):
pip install yt-dlpилиsudo apt install yt-dlp - ffmpeg (для
--merge-video):sudo apt install ffmpeg
💡 Примечание: Без yt-dlp файлы будут называться по videoId (например:
dQw4w9WgXcQ.mp3)
- Установите NodeJS 18+
- Клонируйте репозиторий:
git clone https://github.com/fantomcheg/vot-cli-live.git
cd vot-cli-live- Установите зависимости:
npm install --ignore-scripts- Установите глобально:
sudo npm link- Готово! Теперь команда
vot-cliдоступна в терминале
- Версия для браузера: Ссылка
- Скрипт для скачивания видео с встроенным переводом (надстройка над vot-cli):
OS Оболочка Автор Ссылка Windows PowerShell Dragoy Ссылка Unix Fish Musickiller Ссылка Linux Bash s-n-alexeyev Ссылка Cloud Google Colab alex2844 Ссылка
Если после обновления --version показывает старую версию, или у вас другие проблемы - смотрите:
📖 TROUBLESHOOTING.md - подробный гайд по решению всех известных проблем
- ❌ Старая версия после обновления → решение
- ❌ ECONNRESET ошибки → решение
- ⏰ Timeout при скачивании → решение
- 🔒 3 уязвимости при установке → решение
- ✅ Добавлен TROUBLESHOOTING.md (500+ строк)
- ✅ Решения всех известных проблем
- ✅ Обновлён README.md
- 🐛 Исправлены критические баги (timeout, ECONNRESET)
- 🎨 Красивый UI с эмоджи и прогресс-барами
- ⏰ Таймауты для всех операций (60s API, 10m yt-dlp, 15m ffmpeg)
- 📏 Автоопределение длительности видео
Полный changelog: changelog.md | Releases: GitHub Releases
- Оборачивайте ссылки в кавычки, дабы избежать ошибок
- Для записи в системный раздел (например на "Диск C" в Windows) необходимы права администратора