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] 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)
Теперь да, владелец трансляции сохранил её как видео.
Но спасибо за оперативный ответ.