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=...
— ограничит размер файла 50 мб, если такой будет.
youtube-dl -f 'best[filesize<50M]' https://www.youtube.com/...
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:
- обзорная статья про youtube-dl на хабре
- страничка на гитхабе
- ман — хороший обзор с примерами
- список сайтов, с которыми работает
Не забываем, что софтина обновляется чаще чем в репах дистрибутива:
https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl
, тогда весь функционал будет рабочим.
Для недружных с консолью есть графическая оболочка youtube-dlG…