Yt-dlp: различия между версиями

Emoashell (обсуждение | вклад)
Нет описания правки
Нет описания правки
 
(не показано 8 промежуточных версий 2 участников)
Строка 2: Строка 2:


== yt-dlp ==
== yt-dlp ==
'''yt-dlp''' — это многофункциональный инструмент командной строки для загрузки аудио и видео с поддержкой тысяч сайтов (YouTube, Twitch, TikTok, SoundCloud и т.д. [https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md Список всех поддерживаемых сайтов]). Является форком youtube-dl, созданный после того, как основной проект перестал активно развиваться.
[[Файл:Yt-dlp.png|справа|безрамки|218x218пкс]]
== Установка ==
'''yt-dlp''' — это многофункциональный [https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8 инструмент командной строки] для загрузки аудио и видео с поддержкой [https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md тысяч сайтов] (YouTube, Twitch, TikTok, SoundCloud и т.д.). Является [https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BA форком] [https://github.com/ytdl-org/youtube-dl youtube-dl], созданный после того, как основной проект перестал активно развиваться.
 
= Установка =
 
=== Windows ===
=== Windows ===
==== winget ====
==== winget ====
Самый простой способ это установка через пакетный менеджер '''winget'''. В Windows 10 и Windows 11 он установлен по умолчанию. Для этого вводим в командную строку:
Самый простой способ это установка через пакетный менеджер '''[[winget]]'''. В Windows 10 и Windows 11 он установлен по умолчанию. Для этого нужно [[Выполнение команды в Windows|открыть командную строку и выполнить команду]]:<syntaxhighlight lang="batch">
* <code>winget install yt-dlp --source winget</code>
winget install yt-dlp --source winget
<blockquote>  
</syntaxhighlight><blockquote>Если будет ошибка о том, что "winget не является командой", следуйте [[Winget|инструкции по установке winget]].</blockquote>
Если у вас его нет, значит система давно не обновлялась, либо это LTSC версия. 
В любом случае, winget можно установить вручную. Открываем PowerShell от имени администратора и пишем:
<pre>$wc = New-Object net.webclient 
cd $env:temp 
$wc.DownloadFile('https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx', "$env:temp\VCLibs.appx") 
Add-AppPackage -Path VCLibs.appx -Verbose 
 
Write-Host "Ждите, это долго, скачивается файл 200 МБ" 
 
$wc.DownloadFile('https://github.com/microsoft/winget-cli/releases/download/v1.8.1762/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle', "$env:temp\DesktopAppInstaller.msixbundle"
$wc.DownloadFile('https://raw.githubusercontent.com/ImMALWARE/winget-installer/main/Microsoft.UI.Xaml.2.8.appx', "$env:temp\UIXaml.appx") 
$wc.DownloadFile('https://github.com/microsoft/winget-cli/releases/download/v1.8.1762/fc2c4f481bae4326b6104907449dad99_License1.xml', "$env:temp\License1.xml") 
 
Add-AppxPackage -Path UIXaml.appx -Verbose 
Add-AppxProvisionedPackage -Online -PackagePath DesktopAppInstaller.msixbundle -LicensePath License1.xml -Verbose 
</pre> 
После этого winget будет установлен, открываем НОВУЮ командную строку или PowerShell и выполняем установку yt-dlp.  
</blockquote>


==== pip ====   
==== pip ====   
Если у вас установлен Python, то yt-dlp можно установить с помощью пакетного менеджера pip. Открываем командную строку и вводим:
Если у вас установлен [https://ru.wikipedia.org/wiki/Python Python], то yt-dlp можно установить с помощью [https://ru.wikipedia.org/wiki/Pip_(%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2) пакетного менеджера pip]. Для этого нужно [[Выполнение команды в Windows|выполнить команду]]:<syntaxhighlight lang="batch">
 
pip install -U yt-dlp
*<code> pip install -U yt-dlp</code>.
</syntaxhighlight><blockquote>Флаг <code>-U</code> (или <code>--upgrade</code>) обновит yt-dlp, если он уже установлен.  </blockquote>
 
Флаг <code>-U</code> (или <code>--upgrade</code>) обновит yt-dlp, если он уже установлен.   


=== macOS ===
=== macOS ===
В macOS можно установить его следующим образом с помощью '''Hombrew''':
В macOS можно установить его следующим образом с помощью '''[https://ru.wikipedia.org/wiki/Homebrew_(%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2) Homebrew]''':<syntaxhighlight lang="shell">
 
brew install yt-dlp
*<code>brew install yt-dlp</code>
</syntaxhighlight>


Для обновления вводим:
=== Linux ===
yt-dlp есть в [https://ru.wikipedia.org/wiki/Advanced_Packaging_Tool apt], [https://wiki.archlinux.org/title/Pacman_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) pacman], [https://wiki.archlinux.org/title/Arch_User_Repository_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) AUR] (<code>yt-dlp-git</code>), [https://ru.wikipedia.org/wiki/Snappy_(%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8) snap], [https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper apk]


*<code>brew upgrade yt-dlp</code>
=== Android ===
yt-dlp доступен в виде приложения [[YTDLnis]]


== Использование ==  
= Использование =
Если нужно просто скачать видео, то открываем папку в которую нужно скачать видео и ввести в поисковую строку проводника <code>cmd</code>. В открывшемся окне вводим это:
Самый простой способ использования — через выполнение команды прямо в проводнике:


*<code>yt-dlp [ссылка на видео...]</code>
# Откройте папку в проводнике, в которую скачается видео
# Нажмите на адресную строку проводника
# Введите команду для скачивания: yt-dlp, пробел, ссылка на видео. Например:<syntaxhighlight lang="shell">yt-dlp https://www.youtube.com/watch?v=bLZHcnuqscU</syntaxhighlight>[[Файл:Использование команды в адресной строке проводника.png|центр|551x551пкс|безрамки]]<blockquote>Ссылок на видео может быть сколько угодно, они пишутся через пробел. Например:<syntaxhighlight lang="shell"> yt-dlp https://www.youtube.com/watch?v=wUXKADf4lxE https://www.tiktok.com/@anonim_us_228/video/7441478571656318209 https://soundcloud.com/jrgz/never-gonna-catch-the-thug-theme-goblin-mashup </syntaxhighlight></blockquote>
# Нажмите Enter.
Начнётся скачивание видео в наиболее лучшем лучшем качестве. Таким же образом можно ввести ссылку на плейлист (он скачает все видео из плейлиста) или на целый канал (скачает все видео с канала).


Все! Видео скачается сразу в лучшем качестве. Таким же образом можно ввести ссылку на плейлист (он скачает все видео из плейлиста) или на целый канал (скачает все видео с канала).
Если вы собираетесь постоянно использовать yt-dlp из терминала и хотите, чтобы видео всегда загружались в указанную вами папку, пропишите путь в конфигурационном файле:
<blockquote>
Почему-то видео с некоторых ресурсов (в особенности с YouTube) не качаются если вы находитесь в Российской Федерации, но вы знаете что делать.
</blockquote>


Если вы собираетесь постоянно использовать yt-dlp из терминала и хотите, чтобы видео загружались в указанную вами папку, пропишите её путь в конфигурационном файле.
# Перейдите в папку [[%appdata%]]
* Чтобы создать конфиг перейдем в папку <code>C:\Users\*Имя Пользователя*\AppData\Roaming</code>
# Создайте папку с именем <code>yt-dlp</code>  [[Файл:Yt-dlp folder.png|центр|безрамки|644x644пкс]]
* Создаем там папку с именем <code>yt-dlp</code> и переходим в нее
# Создайте в ней новый текстовый документ с названием <code>config.txt</code> (кстати, рекомендуется [[Отображение расширений файлов в Windows|включить отображение расширений файлов]])
* В этой папке создаем файл <code>yt-dlp.txt</code>
# В текстовый документ нужно написать аргумент "-P", пробел и [[Копирование пути к файлу в Windows|полный путь к нужной папке]]. Пример:<syntaxhighlight lang="shell">-P "C:\Users\User\Desktop\videos"</syntaxhighlight>[[Файл:Yt-dlp config.png|центр|безрамки|888x888пкс]]
* В него вписываем путь до папки (например D:\Video\YouTube) c флагом <code>-o</code> чтобы получилось: <code>-o "D:\Video\YouTube</code>
# Сохраните текстовый документ. Готово! Теперь все видео (в том числе скачанные через выполнение команды в адресной строке проводника) будут скачиваться в указанную папку.
Готово! Теперь видео будет скачиваться в папку, которую вы указали.
= Самые нужные аргументы =
{| class="wikitable"
|+
!Команда
!Описание
|-
|<code>yt-dlp -x --audio-format mp3 <nowiki>https://www.youtube.com/watch?v=bLZHcnuqscU</nowiki></code>
|Скачать только аудио (<code>-x</code>) в формате mp3
|-
|<code>yt-dlp -f 'bestaudio[height<=720]+bestvideo[height<=720]' --merge-output-format mp4 <nowiki>https://www.youtube.com/watch?v=bLZHcnuqscU</nowiki></code>
|Скачивает видео в качестве (<code>-f</code>) 720p в формате (<code>--merge-output-format</code>) mp4
|-
|<code>yt-dlp -x --audio-format mp3 --embed-thumbnail --embed-metadata <nowiki>https://www.youtube.com/watch?v=bLZHcnuqscU</nowiki></code>
|Скачать только аудио (<code>-x</code>) в формате mp3, при этом вытащить обложку (<code>--embed-thumbnail</code>) и [https://ru.wikipedia.org/wiki/ID3_(%D0%BC%D0%B5%D1%82%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5) метаданные] (<code>--embed-metadata</code>) видео и записать их в файл mp3
|-
|<code>yt-dlp --proxy socks5://login:password@127.0.0.1:1080 <nowiki>https://www.youtube.com/watch?v=bLZHcnuqscU</nowiki></code>
|Скачать видео, используя [[Прокси-сервер|прокси]] [https://ru.wikipedia.org/wiki/SOCKS socks5] (также можно использовать http, https, socks4) с логином и паролем
|-
|<code>yt-dlp --cookies-from chrome <nowiki>https://vk.com/video685728764_456239017</nowiki></code>
|Скачать видео с сайта, на котором обязательно нужен вход в аккаунт (например, файлообменник, Boosty) путём установки файлов Cookie, которые будут взяты из браузера Chrome. Вы должны войти в аккаунт в этом браузере. Вместо chrome может быть brave, chromium, edge, firefox, opera, safari, vivaldi, whale.
|-
|<code>yt-dlp -o "%(uploader)s - %(title)s.%(ext)s" <nowiki>https://www.youtube.com/watch?v=neSoWGHSQJI</nowiki></code>
|Скачать видео с названием (<code>-o</code>) в формате "Название канала - Название видео.формат"
%(uploader)s - название канала
%(title)s - название видео
%(ext)s - расширение файла (mp4, webm, m4a)
|-
|<code>yt-dlp --download-sections "*00:01:00-00:02:00" neSoWGHSQJI</code>  
|Скачать видео с YouTube, у которого ID = neSoWGHSQJI и обрезать его с 1:00 по 2:00.
ID видео находится в ссылке от <code>?v=</code> до <code>&</code> (<code>&</code> может не быть):
<code><nowiki>https://www.youtube.com/watch?v=</nowiki>'''<u>neSoWGHSQJI</u>'''&pp=ygUMbWlzaWRlIHNvbmcgoAcB</code>
|}
Источник — https://wiki.malw.lol/Yt-dlp