PowerShell · 29.10.2022

PowerShell и Yt-dlp

Скрипт не актуален! Актуальную версию скрипта можно скачать здесь!

В предыдущем посте (тык) я в красках и с пруфами расписал насколько хороша Yt-dlp. Теперь пришло время испытать её в деле.

У меня уже была заготовка скрипта для скачивания видео. Я только заменил конечную утилиту и команды к ней, а ещё выкинул лишний функционал.

Не забывайте, что рядом со скриптом должны быть файлы ffmpeg.exe и, само собой, yt-dlp.exe!

В конечном итоге, получилась вот такая картина:

## Шапка скрипта ##
[System.Console]::Title = "Скачать видео с YouTube с помощью yt-dlp"

## Предупреждение перед запуском ##
Write-Host
Write-Host "Перед запуском операции скачивания поместите в буфер обмена URL нужного ролика, канала или плейлиста" -ForegroundColor Cyan

## Запуск цикла скрипта ##
while($true) { 

         ## Формирование меню скрипта ##
         Write-Host
         Write-Host "------------------------------------------------" -ForegroundColor Yellow
         Write-Host "   1. Скачать видео" -ForegroundColor Green
         Write-Host "   2. Скачать аудиодорожку в формате mp3" -ForegroundColor Green
         Write-Host "------------------------------------------------" -ForegroundColor Yellow
         Write-Host

         ## Селектор ##
         $choice = Read-Host "Выберите вариант"
                   Write-Host

         switch($choice){

         ## Скачивание видео ##
         1{ 
            $cmd = "-f bestvideo[height<=1080][ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best --merge-output-format mp4 $(Get-Clipboard) -o video\%(title)s.%(ext)s" 
            Start-Process -FilePath yt-dlp.exe -ArgumentList $cmd -Wait -NoNewWindow
          }
         
         ## Скачивание mp3 ##
         2{ 
            $cmd = "-x --audio-format mp3 --audio-quality 0 --embed-thumbnail $(Get-Clipboard) -o audio\%(title)s.%(ext)s" 
            Start-Process -FilePath yt-dlp.exe -ArgumentList $cmd -Wait -NoNewWindow
          }
         
         ## Неверный выбор ##
         default {
                  Write-Host "Неверный выбор. Попробуйте снова." -ForegroundColor Red
                  Write-Host
                 }

        }
}

Обращаю Ваше внимание, что видеофайлы будут скачиваться в папку video, а вот аудиодорожки, сконвертированные в mp3 файл, отправятся в папку audio.