# YouTube Tools Набор PowerShell-скриптов для Windows для скачивания видео и аудио с YouTube, а также создания видео с закадровым переводом. > Используйте утилиты только для контента, который вы имеете право скачивать и обрабатывать. ## Возможности В репозитории находятся три скрипта: | Скрипт | Назначение | | ------------------------------- | ------------------------------------------------------------------------------------------------------------ | | `Get-YouTubeAudio.ps1` | Скачивание лучшей аудиодорожки и конвертация в FLAC | | `Get-YouTubeVideo.ps1` | Скачивание видео в максимально доступном качестве | | `Get-YouTubeVideoTranslate.ps1` | Скачивание видео, получение закадрового перевода через `vot-cli` и смешивание перевода с оригинальным звуком | Все готовые файлы сохраняются в папку: ```text output/ ``` ## Структура проекта ```text youtube-tools/ ├── scripts/ │ ├── Get-YouTubeAudio.ps1 │ ├── Get-YouTubeVideo.ps1 │ └── Get-YouTubeVideoTranslate.ps1 │ ├── tools/ │ ├── yt-dlp.exe │ ├── ffmpeg.exe │ └── ... │ ├── output/ │ └── .gitkeep │ ├── README.md ├── LICENSE └── .gitignore ``` Бинарные зависимости в Git не добавляются. Папка `tools` предназначена для локального размещения необходимых программ. ## Поиск зависимостей Каждый скрипт ищет необходимые программы в следующем порядке: 1. В локальной папке `tools`. 2. В системной переменной `PATH`. 3. Если программа не найдена нигде, скрипт показывает ошибку и завершает работу. Таким образом, можно использовать как локальные версии утилит, так и программы, установленные в Windows. ## Зависимости Скачать всё с облака: [Скачать (.zip)] (https://cloud.kolbox.duckdns.org/lib/b5d0b4e0-fd0c-40fe-b799-3ab0015550d0/file/Gitea%20%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B8/youtube-tools/tools.zip?dl=1) ### yt-dlp Используется для скачивания видео и аудио с YouTube. Последняя версия: https://github.com/yt-dlp/yt-dlp/releases/latest Для локального использования положите `yt-dlp.exe` в: ```text tools/yt-dlp.exe ``` ### FFmpeg Используется для конвертации аудио, объединения потоков и обработки звуковых дорожек. Сборка FFmpeg для Windows: https://www.gyan.dev/ffmpeg/builds/ После распаковки архива возьмите из папки `bin` файл: ```text ffmpeg.exe ``` и положите его в: ```text tools/ffmpeg.exe ``` `ffprobe.exe` текущим скриптам напрямую не требуется. ### vot-cli Используется только скриптом `Get-YouTubeVideoTranslate.ps1`. Репозиторий: https://github.com/FOSWLY/vot-cli Установка: ```powershell npm install -g vot-cli ``` После установки должна быть доступна команда: ```powershell vot-cli ``` Скрипт также умеет искать локальный `vot-cli.cmd`, `vot-cli.exe` или `vot-cli.ps1` в папке `tools`. ### Node.js и npm Необходимы для установки и работы `vot-cli`. Проверка: ```powershell node --version npm --version ``` Скрипт перевода проверяет `node` и `npm` как в папке `tools`, так и в системном `PATH`. ## Зависимости по скриптам | Скрипт | yt-dlp | FFmpeg | Node.js / npm | vot-cli | | ------------------------------- |:------:|:------:|:-------------:|:-------:| | `Get-YouTubeAudio.ps1` | ✓ | ✓ | — | — | | `Get-YouTubeVideo.ps1` | ✓ | ✓ | — | — | | `Get-YouTubeVideoTranslate.ps1` | ✓ | ✓ | ✓ | ✓ | ## Использование ### Скачивание аудио Запустите: ```powershell .\scripts\Get-YouTubeAudio.ps1 ``` Введите ссылку на YouTube. Результат будет сохранён в `output` в формате FLAC. ### Скачивание видео Запустите: ```powershell .\scripts\Get-YouTubeVideo.ps1 ``` Введите ссылку на YouTube. Скрипт скачает видео в максимально доступном качестве и сохранит результат в `output`. ### Видео с закадровым переводом Запустите: ```powershell .\scripts\Get-YouTubeVideoTranslate.ps1 ``` Можно ввести одну ссылку или несколько ссылок через запятую. Скрипт: 1. скачивает исходное видео; 2. получает переведённую дорожку через `vot-cli`; 3. уменьшает громкость оригинального звука до `20%`; 4. смешивает оригинальный звук с переводом; 5. сохраняет итоговый MP4 в `output`; 6. удаляет временные файлы. ## Политика выполнения PowerShell Если Windows запрещает запуск `.ps1`, можно разрешить выполнение локальных скриптов для текущего пользователя: ```powershell Set-ExecutionPolicy -Scope CurrentUser RemoteSigned ``` Изменяйте политику выполнения только если понимаете последствия этой настройки. ## Выходные файлы Все результаты находятся в: ```text youtube-tools/output/ ``` Папка создаётся автоматически, если отсутствует. Содержимое `output` исключено из Git. ## Лицензия MIT. См. файл `LICENSE`.