alexp ([personal profile] alexp) wrote2013-11-25 05:39 pm

youtube-dl - Как скачать все видео из Youtube (Ютуб) плейлиста или все видео пользователя в Ubuntu

К сожалению, расширение BYTubeD для Firefox было удалено разработчиком, поскольку Youtube стал использовать шифрование в URL адресах. И хотя разработчик открыл исходные коды своего расширения, он заявляет, что вряд ли они исправят ситуацию. Но это не большая проблема для Linux пользователей, поскольку есть хорошие альтернативы. Да и расширение в последнее время глючное было.

Как скачать все видео из Youtube плейлиста в Ubuntu 13.10/14.04 при помощи youtube-dl

  1. Установите youtube-dl, выполнив в терминале команду

    sudo apt-get install youtube-dl


  2. Перейдите в папку, в которую хотите скачать файлы при помощи команды cd, например:
    (cd ~/Downloads)

  3. Запустите youtube-dl с параметрами -citw адрес_плейлиста, например:

    youtube-dl -citw http://www.youtube.com/playlist?list=PLV3Gd8vEgOrjrME6jKGG3LCa0A4Qi9kDG




При скачивании можно выбрать максимальное качество для определенного формата:

youtube-dl -citw http://www.youtube.com/playlist?list=PLV3Gd8vEgOrjrME6jKGG3LCa0A4Qi9kDG -f bestvideo+bestaudio



youtube-dl_playlist download

Если возникает ошибка при скачивании видео

[download] Downloading video #13 of 31
[youtube] 2OHIdjq1jOY: Downloading video webpage
ERROR: Unable to download video webpage:


то можно запустить скачивание с определенного номера в плейлисте:

youtube-dl -citw http://www.youtube.com/playlist?list=PLV3Gd8vEgOrjrME6jKGG3LCa0A4Qi9kDG -f bestvideo+bestaudio --playlist-start 13 --playlist-end 31



Чтобы скачать все видео пользователя, запустите с youtube-dl с параметрами -citw ytuser:имя_пользователя, например:

youtube-dl -citw ytuser:hooplakidz



По умолчанию программа переименовывает файлы, указывая название, а также идентификатор youtube видео в имени файла. Для меня удобнее оказывается возможность указать только название и номер по порядку:

youtube-dl -ciw ytuser:hooplakidz -o '%(autonumber)s_%(title)s.%(ext)s' --autonumber-size 2



Хотя иногда достаточно и названия:

youtube-dl -ciw ytuser:hooplakidz -o '%(title)s.%(ext)s'



Причем скачать файл можно и в другую папку. Например, в подпапку с именем пользователя youtube, выложившего видео:

youtube-dl -ciw ytuser:hooplakidz -o '%(uploader)s/%(autonumber)s_%(title)s.%(ext)s' --autonumber-size 2



Еще одной очень полезной чертой программы является возможность сохранять описания видео в файлах с расширением .description

youtube-dl -ciw ytuser:hooplakidz -o '%(uploader)s/%(autonumber)s_%(title)s.%(ext)s' --autonumber-size 2 --write-description



У программы очень богатый набор опций. Можно излекать аудио дорожки, скачивать видео с определенным названием, не скачивать видео с определенным названием, возобновлять скачивание, перезаписывать файлы, скачивать только определенные форматы, конвертировать скаченные ролики в mp4, flv, ogg, webm, и др.
Смотрите более подробно справку (youtube-dl --help).

И напоследок мои любимые параметры для скачивания с Youtube:

youtube-dl -ciw http://www.youtube.com/playlist?list=PLYjQr8vff1Jy-sDJOJzBI2Mwg-1bw2MXa -f bestvideo+bestaudio -o '%(autonumber)s_%(title)s.%(ext)s' --autonumber-size 2 --write-description




Обновление (4 октября 2014г.)
В последнее время youtube-dl не очень корректно скачивает видео из плейлистов. По непонятной причине первое видео скачивается нормально, а дальше приложение зависает (хотя выйти из него по CTRL+C - не проблема). При этом все видео пользователя скачиваются без проблем. Пришлось освоить еще один параметр, позволяющий фильтровать видео по названию.

--match-title "ФРАЗА"


Данный параметр позволяет скачивать видео, в названии который встречается "ФРАЗА", причем не важно, заглавными или строчными буквами она написана. При этом вместо строки продвинутые пользователи могут использовать и регулярные выражения (regex).
Пример испольльзования:

youtube-dl -ciw ytuser:TeremokTV --match-title "Развивающие мультфильмы" -o '%(autonumber)s_%(title)s.%(ext)s' --autonumber-size 2



Аналогичным же образом можно исключать скачивание определенных видео, используя --reject-title "ФРАЗА".

Пользоваться программой можно не только в Linux, но и в Windows и Mac OS.

[identity profile] agulnaraa.livejournal.com 2013-11-25 03:18 pm (UTC)(link)
спасибо! искала давно

[identity profile] agulnaraa.livejournal.com 2013-11-25 04:41 pm (UTC)(link)
а есть какая нибудь возможность, скачать на нокиа 8800 музыку с макбука?
айфон продала, и пока мне не привезли 5s умираю без музыки(

[identity profile] athunder.livejournal.com 2013-11-25 05:26 pm (UTC)(link)
У меня Нокиа никогда не было. А как флешку телефон видно при подключении по кабелю? Вообще есть в наличии кабель? На Макбуке только Mac OS?

Если кабеля нет, то по Bluetooth можно попробовать скинуть.

[identity profile] agulnaraa.livejournal.com 2013-11-25 05:29 pm (UTC)(link)
при подключении мак видит телефон, и даже пытается с него скачать все) но сам телефон к себе не впускает никак( скачать дает! но к себе инфу не принимает(
у меня OS только
Edited 2013-11-25 17:31 (UTC)

[identity profile] athunder.livejournal.com 2013-11-25 06:06 pm (UTC)(link)
проще всего, наверное, виндузятника найти и с его компа скинуть

Познавательные мультфильмы: Необыкновенные приключен

[identity profile] livejournal.livejournal.com 2014-11-21 07:54 pm (UTC)(link)
Пользователь [livejournal.com profile] lirijena сослался на вашу запись в своей записи «Познавательные мультфильмы: Необыкновенные приключения Карика и Вали, Фиксики (http://lirijena.livejournal.com/7599.html)» в контексте: [...] все видео из Youtube (Ютуб) плейлиста или все видео пользователя при помощи консольного приложения [...]

инструкция youtube-dl

(Anonymous) 2015-10-21 06:29 am (UTC)(link)
Вот бы подробную инструкцию по youtube-dl. Ваша статья конечно закрыла мои текущие проблемы, стало более-менее понятно, как как пользоваться.

Re: инструкция youtube-dl

[identity profile] athunder.livejournal.com 2015-10-22 02:33 pm (UTC)(link)
Возможно, когда-нибудь раздел помощи программа переведут на русский язык. Рад, что моя статья помогла разобраться с youtube-dl!

Youtube-dl

(Anonymous) 2016-10-13 06:59 am (UTC)(link)
Видел в Youtube-dl есть режим "Simulate" и получение имени видео без скачивания файла. Не могу понять как оформить команду чтоб прогнать все ссылки списком и результат(имена видеофайлов) записался в файл?

Re: Youtube-dl

[identity profile] athunder.livejournal.com 2016-10-13 08:05 am (UTC)(link)
Если добавить --simulate к команде, то просто будет имитация скачивания, но сами видео ролики скачиваться не будут.

Если при этом хочется выбрать скачивание всех видео с канала, то на экране увидим их ID.

[download] Downloading video 1 of 618
[youtube] -FBcgdU98os: Downloading webpage
[youtube] -FBcgdU98os: Downloading video info webpage
[youtube] -FBcgdU98os: Extracting video information
[download] Downloading video 2 of 618
[youtube] TIhRdMVA7yY: Downloading webpage
[youtube] TIhRdMVA7yY: Downloading video info webpage
[youtube] TIhRdMVA7yY: Extracting video information

Добавив ID к ссылке https://www.youtube.com/watch?v= , можно получить страницу для просмотра видео с этим ID. Но это будет всего лишь веб-страница с роликом.

Можно конечно сохранить весь текст в файл, а потом вытащить из него ID видео при помощи каких-нибудь команд вроде sed или awk, но смысла в этом особо не видно.

Что конкретно вы хотите сделать? Получить список адресов самих видео, которые можно было бы скачать? Или список веб-страниц с видео?

Re: Youtube-dl

[identity profile] athunder.livejournal.com 2016-10-13 08:17 am (UTC)(link)
Если нужно получить названия файлов для списка видео роликов, то можно использовать:

youtube-dl --batch-file list --simulate --get-title --get-id

Данная команда для списка видео из файла list получит именно заголовки видео и соответствующие ID. Вывод стандартно можно перенаправить в текстовый файл, добавив > filename.txt .

[identity profile] ggair.livejournal.com 2016-10-31 08:25 pm (UTC)(link)
Подскажите, а можно ли с помощью youtube-dl скачать не ролик а трансляцию? По завершению трансляции по ссылке можно её просматривать, а вот скачать не выходит.

[identity profile] athunder.livejournal.com 2016-11-01 07:16 am (UTC)(link)
Киньте пожалуйста пример ссылки.

[identity profile] ggair.livejournal.com 2016-11-01 12:26 pm (UTC)(link)
Например вот
https://www.youtube.com/watch?v=MLXrIv-1TG8

[identity profile] athunder.livejournal.com 2016-11-01 12:35 pm (UTC)(link)
Никаких проблем при скачивании при помощи youtube-dl у меня нет

Image

Video DownloadHelper также прекрасно скачивает этот ролик.

[identity profile] ggair.livejournal.com 2016-11-01 01:02 pm (UTC)(link)
Теперь да, владелец трансляции сохранил её как видео.
Но спасибо за оперативный ответ.