Всем доброго времени суток. Я в интернете не нашла никакой информации об том, как скачать массово видео с ютуба на линукс. Поэтому решила сделать маленький гайд. По такому приложению как yt-dlp. Многие пользователи спросят - зачем это нужно, в интернете есть сайты, туда вставляешь ссылку и скачиваешь любое видео. На что я скажу - да есть такие сайты. Но эти сайты ничего не стоят сравнению с этой программой. Официальная ветка на гит
https://github.com/yt-dlp/yt-dlp там более подробная инструкция. Также можно установить от простого пользователя с репозитория питона.
pip3 install yt-dlp
путь где будет лежать ваш yt-dlp тут
ls $HOME/.local/bin/yt-dlp
Если коротко что может это программа
1. Скачивать видео с youtube
2. Массово скачивать весь канал с youtube. Если оно вам нужно
3. Массово скачать весь плейлист любого пользователя
4. При скачивании указать формат файла, его частоту кадров и т.д.
5. Также, если оно вам нужно можно скачать и в формате mp3 также и канал и плейлист. Как вам угодно.
6. Более того что уже важно мне ей можно указать древо каталогов. То есть
«/home/user/Video/youtube/Канал_Пользователя/Плейлист/Само_видео_ С_котиком.mp4»
Как видите возможностей у нее много и это не весь список, что я тут перечислила. На самом деле их намного больше, если набрать команду
yt-dlp -help
Вы увидите, куда более широкие ее возможности. Но пользоваться ей очень легко. Ниже я приведу самый простой пример, который мне пришел только что в голову.
yt-dlp --ignore-errors -o /home/user/Video/youtube/'%(uploader)s/%(playlist)s/%(title)s'.mp4 https://www.youtube.com/user/ArtSorax/playlists
Теперь давайте посмотрим что тут программа тут сделает
--ignore-errors — этот пункт отвечает как уже понятно из названия пропуск ошибок, не важно каких скажем на видео наложено ограничения по странам и или его удалили… В этом случае она пропустит и пойдет качать дальше
-o - тут мы указываем путь для куда сохранять сами видеофайлы.
%(uploader)s Тут подставится само название канала.
%(playlist)s А вот тут имя плей листа
%(title)s Ну и название самого видеофайла. Название сохранится без расширения, поэтому его можно оставить по умолчанию, кодировка видео идет в формате mp4.
.%(ext)s, Но если нужно можно сделать его динамическим в зависимости от кодировки. Если вам это нужно.
Ну и в конце в моем примере идет ссылка на канал и с указанием что все видео он скачивал из плейлистов.
Должна отметить что он качает все в максимально высоком качестве по умолчанию.
Все это очень хорошо. И полезно, но что если мне будет нужно скажем скачать видео другого разрешения или формата. Предположим у меня старый или маломощный компьютер, а может я хочу это видео себе на телефон. Для этого мне поможет параметр
-F данная команда будет выводить видео какие есть на данном канале.
yt-dlp -F https://www.youtube.com/watch?v=0QudXUs_vq0
И ниже программа выдает список всех форматов и кодировок что есть, и все что под маркировкой "DASH" идут отдельно звуковая дорожка и видео файл.
yt-dlp
-F https://www.youtube.com/watch?v=0QudXUs_vq0[youtube] 0QudXUs_vq0: Downloading webpage
[youtube] 0QudXUs_vq0: Downloading video info webpage
[youtube] 0QudXUs_vq0: Extracting video information
[youtube] 0QudXUs_vq0: Downloading DASH manifest
[info] Available formats for 0QudXUs_vq0:
format code extension resolution note
171 webm audio only DASH audio 127k , vorbis@128k (44100Hz), 1.09MiB
140 m4a audio only DASH audio 129k , m4a_dash container, mp4a.40.2@128k (44100Hz), 1.31MiB
141 m4a audio only DASH audio 255k , m4a_dash container, mp4a.40.2@256k (44100Hz), 2.61MiB
278 webm 256x144 DASH video 93k , webm container, vp9, 1fps, video only, 708.64KiB
160 mp4 256x144 DASH video 110k , avc1.4d400c, 13fps, video only, 1.10MiB
242 webm 426x240 DASH video 191k , vp9, 1fps, video only, 1.45MiB
133 mp4 426x240 DASH video 246k , avc1.4d4015, 25fps, video only, 2.46MiB
243 webm 640x360 DASH video 321k , vp9, 1fps, video only, 2.64MiB
244 webm 854x480 DASH video 601k , vp9, 1fps, video only, 4.65MiB
134 mp4 640x360 DASH video 605k , avc1.4d401e, 25fps, video only, 2.96MiB
135 mp4 854x480 DASH video 1107k , avc1.4d401e, 25fps, video only, 5.90MiB
247 webm 1280x720 DASH video 1230k , vp9, 1fps, video only, 8.81MiB
136 mp4 1280x720 DASH video 2208k , avc1.4d401f, 25fps, video only, 11.64MiB
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
36 3gp 320x240 small , mp4v.20.3, mp4a.40.2@ 32k
5 flv 400x240 small , h263, mp3 @ 64k
43 webm 640x360 medium , vp8.0, vorbis@128k
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
Но все что идут под маркировкой
small, medium и
hd720 уже со звуковой дорожкой.
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
36 3gp 320x240 small , mp4v.20.3, mp4a.40.2@ 32k
5 flv 400x240 small , h263, mp3 @ 64k
43 webm 640x360 medium , vp8.0, vorbis@128k
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
Теперь мне нужно выбрать формат и размер экрана. Предположим, я хочу скачать видео для старого мобильного телефона. В формате 3gp и с разрешением 176x144 пикселей.
В самой начале строки есть цифры.
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
36 3gp 320x240 small , mp4v.20.3, mp4a.40.2@ 32k
5 flv 400x240 small , h263, mp3 @ 64k
43 webm 640x360 medium , vp8.0, vorbis@128k
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
вот эти цифры указывают какое видео я хочу скачать, чтобы программа мне его скачала.
Я должна указать параметр
-f c нужным мне префиксом, в моем случае это будет
17.
yt-dlp --ignore-errors -f 17 -o /home/user/Video/youtube/'%(uploader)s/%(playlist)s/%(title)s'.3gp https://www.youtube.com/watch?v=0QudXUs_vq0
Все это конечно очень хорошо и удобно. Но очень много кода. Не понятных закорючек, и буковок. И запомнить все это будет очень сложно, простому человеку, а новичку понять и написать все это правильно. Для можно сделать простой скрипт, для автоматизации такой "страшной работы".
#!/bin/bash
DIR="ПАПКА ГДЕ БУДЕТ ЛЕЖАТЬ НАШЕ ВИДЕО"
URL1="https://www.youtube.com/watch?v=0QudXUs_vq0"
CODEC="17"
# В CODEC="17" За место 17 подставьте нужное вам значения
yt-dlp --ignore-errors -f $CODEC -o "$DIR"'%(uploader)s/%(playlist)s/%(title)s.%(ext)s,' "$URL1"
######
И что зачем нам это нужно? А затем, что если вы куда-то хотите поехать или еще по каким причинам у вас не будет доступа к интернету. То вы можете спокойно смотреть видео офлайн. Ваших любимых котиков и или летсплейщиков. Ну или просто сделать бекап своего канала, чтобы не хотите потерять дорого вам видео.
Гораздо проще поставить весь плейлист на закачку и пойти спокойно спать, чем сидеть часами и все это кликать на каких либо ресурсах. И в БОЛЬШОЙ + программа консольная.
PS...более Подробно смотрите man страницы или хелп… Я расписала эту программу для новичков которые могут не понять что с ней делать. Или просто не знают, что такая программа вообще существуют.
Скачивание видео с других ресурсовyt-dlp также может скачивать видео ролики не только с ютуба, но и с других сайтов. Список, откуда он может точно скачать, можно увидеть так
yt-dlp --list-extractors
как видите, перечень большой. Также она может скачать и видео с сайта, даже если в списке его нет. Но тут как вам повезет.
ProxyС связи с тем, что происходит в стране, добавляю пункт - Как пользоватся прокси. Вам нужно знать, через что вам подключатся. Указываете протокол и все. Скорость будет не высокая. Но как и раньше, офлайн ютуб можно смотреть. Даже при блокировке.
yt-dlp --proxy "http://111.111.111.111:1111" https://www.youtube.com/watch?v=0QudXUs_vq0
yt-dlp --proxy "https://111.111.111.111:1111" https://www.youtube.com/watch?v=0QudXUs_vq0
yt-dlp --proxy "socks5://111.111.111.111:1111" https://www.youtube.com/watch?v=0QudXUs_vq0
ALiEN175 Спасибо за помощь
ВНИМАНИЕ! Для это мой совет для новичков, и вообще для всех людей, что сидят в сети.
1. Не спрашивайте, где взять proxy или vpn.
2. Не пишите, где вы брали proxy или vpn.
3. Если у вас возникнет какая-либо ошибка и вы опубликуете свой лог, замените IP вашего прокси.
Подразумевается, что речь идёт о в публичных местах. На форумах, в чатах телеги, на заборах, по телефону смс, вацап, боже упасти ВК, на всяких опросниках "какой у вас vpn или proxy", "что лучше" и т.д. Или еще в каких либо публичных местах.
Большое спасибо за Внимание ^_^
Надеюсь кому-то я помогла кто искал такую информацию.
OLD
PSS... Я из будущего. На 2021 год есть верятность что что проект youtube-dl мертв, связи с отсвувием апдейтов. У yotube-dl есть форк yt-dlp Если что-то не работает, в youtube-dl используется его форк
# Устновить можно так без рута установленно будет
# в имя пользователя тут $HOME/.local/bin/yt-dlp
pip3 install yt-dlp
Все что я писала в гайде работает и на форке так что гайд актуальный.
Если что читайте внимательно дайнный топик. Тут умные люди сидят они помогут. Кстати спасибо вам.