youtube из linux консоли

Просмотр без скачивания в mplayer (sudo apt-get install mplayer) без gui:

mplayer $( youtube-dl -gf mp4 https://youtu.be/Qs8t0LZzmug?list=RDQs8t0LZzmug)

-g — сформировать прямую ссылку на видео на stdout
-f mp4 — лучшее видео в соответствующем формате

Можно обойтись без youtube-dl, причём запустить не только из bash,
но и просто в строке запуска по alt+f2:

mpv https://www.youtube.com/watch?v=????
vlc https://www.youtube.com/watch?v=????
smplayer https://www.youtube.com/watch?v=????

Ставим youtube-dl:

sudo apt-get install youtube-dl

Или хороший способ для всех UNIX users (Linux, macOS, etc.), если в первом случае в репе только старая версия:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

не хочешь качать через curl, можно через стандартный wget:

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Если потом не запускается, ругается на путь,можно приделать алиас:

alias youtube-dl="/usr/local/bin/youtube-dl"

Примеры:

Просмотреть список вариантов для загрузки:
youtube-dl -F https://youtube.com/watch?v=Qs8t0LZzmug

и сразу делаем для этого bash alias, чтобы запускать сразу с параметром вывода доступных вариантов просто командой YT:

alias YT="youtube-dl -F https://youtube.com/watch?v=Qs8t0LZzmug"

Загрузить один из вариантов, привязав к обложке и доступные субтитры:
youtube-dl -f mp4 --embed-thumbnail --all-subs https://www.youtube.com/watch?v=0I647GU3Jsc

Если превью-картинка не привязывается к видео, а качается отдельным файлом, вероятно не установлен atomicparsley:
sudo apt-get install atomicparsley

Если в хорошем качестве нет, можно соединить аудио и видео дорожки:
youtube-dl -f 137+140 https://www.youtube.com/...
При этом должен быть установлен ffmpeg.
А можно так:
youtube-dl -f best https://www.youtube.com/...
или:
youtube-dl -f 'bestvideo+bestaudio/best' https://www.youtube.com/...
Можно ограничить верхний порог качества, и применить другие опции:
youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' https://www.youtube.com/...
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://www.youtube.com/watch?v=...
youtube-dl -f 'best[filesize<50M]' https://www.youtube.com/... 
  — ограничит размер файла 50 мб, если такой будет.
youtube-dl -f 'bestvideo[height<=320]+bestaudio/best[height<=320]' -o '%(uploader)s/%(upload_date)s-%(title)s.f%(format_id)s.%(ext)s' https://www.youtube.com/channel/UCoCOyx5PZqah8vGGF6qiB9Q

Алиас для последнего варианта:

yts="youtube-dl -f 'bestvideo[height<=480]+bestaudio' -o '%(uploader)s/%(upload_date)s-%(title)s.%(ext)s'"

Отлично, теперь yts https://youtu.be/mI96Ph-yHcA сразу скачает файл в папку, в нужном виде.

Скачать аудиодорожку из трека в mp3 cbr 192 kbit:
youtube-dl -cix --audio-format "mp3" --audio-quality "192k" https://youtube.com/watch?v=Qs8t0LZzmugc

Скачать аудиодорожку из трека в mp3 vbr:

youtube-dl -ix --audio-format "mp3" --audio-quality 3 -o '%(uploader)s/%(playlist_title)s/%(title)s-%(upload_date)s.f%(format_id)s.%(ext)s' https://www.youtube.com/user/osipovalexeyilich/playlists;    

alias:

alias yta192="youtube-dl -cix --audio-format 'mp3' --audio-quality '192k' -o '%(uploader)s/%(playlist_title)s/%(title)s-%(upload_date)s.%(ext)s'"

alias yta="youtube-dl -cix --audio-format 'mp3' --audio-quality '0'"

-A — автонумерация,
-с — продолжит с момента обрыва, после повторного ввода команды в том же каталоге,
-i — игнорирование ошибок,
-t — назвать файл, так же как имя записи,
-x — скачать только аудио.

Если нет возможности скачать mp3, тащит webm.
Можно посмотреть список вариантов, и из них выбрать.
Можно сконвертировать видео и аудио при помощи ffmpeg .
Кстати, у него есть графическая оболочка WinFF
sudo apt-get install winff

ffmpeg -i file.webm -vn -ar 44100 -ac 2 -ab 192k -f mp3 file.mp3

ffmpeg -i "/path/to/file.mkv" -ar 44100 -ac 2 -ab 192k -f mp3 "/path/to/file.mp3"

ffmpeg -i video.avi video.mpg

Для скачивание через прокси, ввести следующие:
sudo youtube-dl --proxy XX.XX.XX.XX:Порт http://www.ссылка-на-видео

Помощь по программе:
youtube-dl -h

Скачать плейлист:

youtube-dl -f mp4 https://www.youtube.com/playlist?list=PLG0eHdc0z-o4YQcwKn-RVdSbN05aE9r0i

Обрати внимание, прога не перезаписывает, умеет докачивать файлы в папке,можно качать без проверки всех файлов в папке, просто начав с нужного в листе, например с 5го:

youtube-dl --playlist-start 5 -f mp4 https://www.youtube.com/playlist?list=PLG0eHdc0z-o4YQcwKn-RVdSbN05aE9r0i

Ещё пара опций:

--playlist-end — до какого номера в списке качать

--playlist-items — список файлов для загрузки

Скачать все плейлисты на канале, оформив названия файлов:

youtube-dl -o '%(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/channel/UCoCOyx5PZqah8vGGF6qiB9Q/playlists

у меня качает только первый список на канале*

Скачать все видео на канале, оформив названия, выбрав формат:

youtube-dl -o '%(uploader)s/%(playlist)s/%(upload_date)s - %(title)s.%(ext)s' https://www.youtube.com/channel/UCoCOyx5PZqah8vGGF6qiB9Q

youtube-dl -f 'bestvideo[height<=320]+bestaudio/best[height<=320]' -o '%(uploader)s/%(upload_date)s-%(title)s.f%(format_id)s.%(ext)s' https://www.youtube.com/channel/UCoCOyx5PZqah8vGGF6qiB9Q

Скачать музыку с форматированием получилось:

youtube-dl -cx --audio-format mp3 --embed-thumbnail -o '%(uploader_id)s/%(artist)s/%(album)s/%(track_number)s - %(track)s.%(ext)s' https://www.youtube.com/playlist?list=PLWcsk2MlY8IbFAT9clkkmOwymYhkA9Z-R

Вариант с переменным битрейтом с приемелмым качеством:

youtube-dl -cx --audio-format mp3 --audio-quality 3 -o '%(uploader_id)s/%(artist)s/%(album)s/%(track_number)s - %(track)s.%(ext)s' https://www.youtube.com/playlist?list=PLWcsk2MlY8IbFAT9clkkmOwymYhkA9Z-R

Ещё возможен простой вариант:

youtube-dl -x --audio-format mp3 https://www.youtube.com/playlist?list=PLWcsk2MlY8IbFAT9clkkmOwymYhkA9Z-R

 

Загрузка по списку адресов, взято тут:
# for i in $(<videos.txt); do youtube-dl -x --audio-format mp3 $i; done

или просто через последовательный оператор терминала — ;

youtube-dl -f 18 -i --playlist-start 1 -o '%(uploader)-%(uploader_id)s/%(playlist)s/%(upload_date)s-%(title)s.f%(format_id)s.%(ext)s' https://www.youtube.com/playlist?list=PLukDEc3QmPk5aHAF2nRXc888nge0_qsX5; youtube-dl -f 18 -i --playlist-start 1 -o '%(uploader)-%(uploader_id)s/%(playlist)s/%(upload_date)s-%(title)s.f%(format_id)s.%(ext)s' https://www.youtube.com/playlist?list=PLukDEc3QmPk50HGNRbs6Bey-mghuPngvf;

Ссылки по youtube-dl:

Не забываем, что софтина обновляется чаще чем в репах дистрибутива:

https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl

, тогда весь функционал будет рабочим.

Для недружных с консолью есть графическая оболочка youtube-dlG…

youtube-dl-gui