Скрипт не актуален! Актуальную версию скрипта можно скачать здесь!
Метод скачивания контента с видеохостингов с использованием линклиста мною уже рассматривался в посте, посвящённом утилите YouTube-dl (тык).
Строго говоря, это переосмысление PS1 скрипта, упомянутого в предыдущем посте. Я умышленно разделил по двум сценариям скачивание аудиопотока и полноценного видеофайла с хостингов и добавил команду для считывания ссылок из линклиста.
Если эти скрипты находятся в одной папке — они будут обращаться к одному файлу linklist.txt.
Напоминаю, что рядом со скриптами должны находится файлы yt-dlp.exe и ffmpeg.exe, в противном случае волшебства не будет.
Скрипт для скачивания аудиодорожек в формате mp3 (в файл встраивается thumbnail ролика):
## Шапка скрипта ##
[System.Console]::Title = "Пакетное скачивание аудио с помощью yt-dlp"
## Создание файла для формирования списка ##
try {
# Проверка наличия файла #
$filename = "linklist.txt"
$testtxt = Test-Path $filename
if ($testtxt) { Start-Process notepad.exe -ArgumentList $filename -Wait }
else { Write-Host "Скопируйте ссылки на ролики в файл linklist.txt" -ForegroundColor Cyan
New-Item -Path $filename -ItemType File -ErrorAction Ignore | Out-Null
Start-Process notepad.exe -ArgumentList $filename -Wait
Write-Host "Файл со списком ссылок готов!" -ForegroundColor Cyan }
}
catch { Write-Host "Ошибка создания файла для списка ссылок!" -ForegroundColor Red }
## Скачивание аудиофайлов ##
$cmd = "-x --audio-format mp3 --audio-quality 0 --embed-thumbnail --batch-file $filename -o audio\%(title)s.%(ext)s"
Start-Process -FilePath yt-dlp.exe -ArgumentList $cmd -Wait -NoNewWindow
## Ожидание действий от пользователя ##
Read-Host "Нажмите Enter для выхода..."
Скрипт для скачивания видеофайлов:
## Шапка скрипта ##
[System.Console]::Title = "Пакетное скачивание видео с помощью yt-dlp"
## Создание файла для формирования списка ##
try {
# Проверка наличия файла #
$filename = "linklist.txt"
$testtxt = Test-Path $filename
if ($testtxt) { Start-Process notepad.exe -ArgumentList $filename -Wait }
else { Write-Host "Скопируйте ссылки на ролики в файл linklist.txt" -ForegroundColor Cyan
New-Item -Path $filename -ItemType File -ErrorAction Ignore | Out-Null
Start-Process notepad.exe -ArgumentList $filename -Wait
Write-Host "Файл со списком ссылок готов!" -ForegroundColor Cyan }
}
catch { Write-Host "Ошибка создания файла для списка ссылок!" -ForegroundColor Red }
## Скачивание видеофайлов ##
$cmd = "-f bestvideo[height<=1080][ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best --merge-output-format mp4 --batch-file $filename -o video\%(title)s.%(ext)s"
Start-Process -FilePath yt-dlp.exe -ArgumentList $cmd -Wait -NoNewWindow
## Ожидание действий от пользователя ##
Read-Host "Нажмите Enter для выхода..."