Скачивайте видео с YouTube в Linux из командной строки с помощью yt-dlp

Существует несколько способов скачать видео с YouTube. Если вам больше нравится веб-сайт, обратите внимание на 9xBuddy. Однако если вы хотите скачивать видео с YouTube в Linux с помощью командной строки, ничто не сравнится с yt-dlp.
Что такое yt-dlp?
yt-dlp — это бесплатный кроссплатформенный инструмент командной строки на основе Python, который позволяет загружать аудио- и видеофайлы с YouTube, Dailymotion, Facebook, Instagram, Reddit, Twitter, Udemy, Vevo, TikTok и более 1500 других сайтов.
Он поставляется в виде отдельного двоичного файла для Linux (armv7l = 32-разрядная версия и aarch64 = 64-разрядная версия), Windows (в формате .exe) и macOS, а также предлагает возможность установки путём компиляции исходного кода, что я лично не рекомендовал бы новичкам.
Функции, предлагаемые yt-dlp, включают поддержку возобновления прерванных загрузок, изменение форматов видео, блокировку рекламы, поддержку файлов cookie, разделение видео на главы и многое другое. Вы можете расширить возможности с помощью плагинов. Несколько хорошо известных плагинов — это обход YouTube Agegate и прокси YouTube nsig.
Как установить yt-dlp в Linux
yt-dlp недоступен в репозитории Linux, но его можно легко установить с помощью автономного бинарного файла, который предлагается на странице проекта. Поэтому, если вы используете Ubuntu 23.04, 22.04 или другие дистрибутивы Linux, такие как Linux Mint, Fedora, Rocky Linux, openSUSE, Arch и Manjaro, перейдите в раздел с файлами релизов на странице проекта и скачайте предварительно скомпилированный бинарный файл.
Когда загрузка завершится, откройте терминал, перейдите в каталог загрузок и переместите загруженный файл в каталог bin пользователя с помощью следующей команды:
$ cd ~/Downloads/ $ sudo mv yt-dlp_linux /usr/local/bin/yt-dlp
После перемещения файла необходимо установить права на его запуск, чтобы он работал должным образом.
$ sudo chmod a+rx /usr/local/bin/yt-dlp
После этого вы можете использовать его, но не забывайте выполнять следующую команду хотя бы раз в неделю, чтобы обновить его до последней версии.
$ yt-dlp -U
Использование yt-dlp
С помощью yt-dlp можно легко скачивать видео, но если вы хотите выполнить какие-то действия во время или после скачивания, вы можете воспользоваться доступными опциями. Здесь я покажу вам, как легко можно скачать видео с дополнительными опциями.
Скачать видео с YouTube с помощью yt-dlp
Чтобы скачать видеофайл с нужного вам сайта, просто используйте следующую команду, где [VIDEO_URL] — это URL-адрес видео, которое вы хотите скачать.
$ yt-dlp [VIDEO_URL]
В каталоге, в котором вы выполняете команду, будет сохранено загруженное видео.
Скачать аудио с помощью yt-dlp
Чтобы скачать аудиофайл с помощью yt-dlp, сначала установите ffmpeg в вашей системе Linux. Затем используйте следующую команду, заменив [VIDEO_URL] на URL-адрес видео, аудио из которого вы хотите скачать.
$ yt-dlp -x [VIDEO_URL]
При выполнении указанной выше команды yt-dlp сначала загрузит видео в исходном формате, а затем с помощью ffmpeg преобразует его в аудиофайл и удалит.
Скачать субтитры к видео на YouTube с помощью yt-dlp
Прежде чем скачивать субтитры (или титры, как их называют на YouTube), нужно проверить, есть ли они у видео. Для этого можно использовать следующую команду, чтобы вывести список всех субтитров к видео:
$ yt-dlp --list-subs [VIDEO_URL]
Если субтитры доступны, вы получите результат, похожий на приведённый ниже:
Available subtitles for F6PqxbvX-X-: Language Name Formats ar Arabic vtt, ttml, srv3, srv2, srv1, json3 bn Bangla vtt, ttml, srv3, srv2, srv1, json3 zh-Hant Chinese (Traditional) vtt, ttml, srv3, srv2, srv1, json3 en English vtt, ttml, srv3, srv2, srv1, json3 fr French vtt, ttml, srv3, srv2, srv1, json3 de German vtt, ttml, srv3, srv2, srv1, json3 hi Hindi vtt, ttml, srv3, srv2, srv1, json3 id Indonesian vtt, ttml, srv3, srv2, srv1, json3 ja Japanese vtt, ttml, srv3, srv2, srv1, json3 ko Korean vtt, ttml, srv3, srv2, srv1, json3 pt Portuguese vtt, ttml, srv3, srv2, srv1, json3 ru Russian vtt, ttml, srv3, srv2, srv1, json3 es Spanish vtt, ttml, srv3, srv2, srv1, json3 th Thai vtt, ttml, srv3, srv2, srv1, json3 tr Turkish vtt, ttml, srv3, srv2, srv1, json3 vi Vietnamese vtt, ttml, srv3, srv2, srv1, json3
Чтобы загрузить нужные субтитры, кроме самого видео, выполните команду:
$ yt-dlp --write-subs --sub-langs [Language] --skip-download [VIDEO_URL]
Чтобы загрузить все субтитры, кроме самого видео, выполните команду:
$ yt-dlp --all-subs --skip-download [VIDEO_URL]
Загрузите несколько видео с YouTube с помощью yt-dlp
Чтобы загрузить несколько видео одновременно с помощью yt-dlp, введите все URL-адреса видео через пробел в следующую команду:
$ yt-dlp [VIDEO_URL_ONE] [VIDEO_URL_TWO]
Кроме того, вы можете создать текстовый файл, записать в него URL-адрес видео и указать путь к текстовому файлу с помощью флага -a в следующей команде:
$ yt-dlp -a /path/to/the/textfile
Скачать весь плейлист YouTube с помощью yt-dlp
Чтобы скачать весь плейлист YouTube, выполните следующую команду, указав URL-адрес или идентификатор нужного плейлиста для скачивания.
$ yt-dlp [PLAYLIST_URL]
или
$ yt-dlp [PLAYLIST_ID]
Скачать видео с YouTube в различных форматах и с разным качеством
Для видео с YouTube доступно множество форматов и разрешений, включая mhtml, mp4, m4a, webm, 256×144, 1280×720, 1920×1080 и многие другие. Поэтому используйте флаг -F для проверки доступных форматов и разрешений для нужного вам видео.
$ yt-dlp -F [VIDEO_URL]
В результате получится что-то вроде этого:
ID EXT RESOLUTION FPS CH sb3 mhtml 48x27 0 233-0 mp4 audio only 0 249-0 webmp audio only 0 140-0 m4a audio only 0 602 mp4 256x144 15 136 mp4 1280x720 30 616 mp4 1920x1080 30
Чтобы загрузить видео в нужном формате и разрешении из списка выше, укажите его идентификатор с помощью флага -f в следующей команде:
$ yt-dlp -f 616 [VIDEO_URL]
Как удалить yt-dlp из Linux
Чтобы удалить yt-dlp из вашей системы Linux, просто удалите двоичный файл из каталога bin пользователя с помощью следующей команды:
$ sudo rm /usr/local/bin/yt-dlp
Выводы
yt-dlp — это потрясающий инструмент, который также используется в качестве бэкенда во многих популярных инструментах с графическим интерфейсом. Однако такие инструменты часто становятся причиной конфликтов с веб-сайтами, что приводит к судебным разбирательствам и прекращению поддержки инструмента.
Редактор: AndreyEx
