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

YouTube — крупнейший архив потокового медиаконтента, на платформе миллиарды видео и сотни тысяч новых загрузок ежедневно. Хотя существуют расширения и веб‑сервисы для скачивания, использование терминального инструмента на Linux часто быстрее, безопаснее и гибче.
Что такое yt-dlp?
yt-dlp — это форк проекта youtube-dl, регулярно обновляемый открытый инструмент командной строки для загрузки видео и аудио со множества сайтов. Он поддерживает выбор формата, разрешения, извлечение аудио, работу с плейлистами, использование cookies и прокси, а также ряд плагинов для обхода нестандартных потоков.
Важно: yt-dlp сам по себе не обходит DRM и не способен легально снять защищённое шифрованием содержимое. Он работает с доступными потоками и метаданными.
Кому полезен yt-dlp
- Архиваторам и исследователям, которым нужно сохранить копии видео.
- Инженерам и сценаристам, которые собирают референсы.
- Оффлайн‑пользователям и создателям подкастов.
Установка yt-dlp на Linux
Есть три основных способа установки: бинарный файл, pip или менеджер пакетов. Самый универсальный — скачать бинарник и поместить его в /usr/local/bin.
Скачать последнюю версию и поместить в системный путь:
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlpУстановка через pip (если вы используете виртуальные окружения или предпочитаете Python‑пакеты):
python3 -m pip install -U yt-dlpУстановка через распространённые менеджеры пакетов (примеры):
# Debian/Ubuntu (через репозитории сторонних сборок):
sudo apt install yt-dlp # если доступно в вашем репозитории
# Fedora/CentOS (dnf/yum):
sudo dnf install yt-dlp # если пакет доступен
# macOS Homebrew:
brew install yt-dlpПримечание: в разных дистрибутивах пакет может быть в официальных репозиториях или в сторонних; если пакет устарел, используйте бинарник или pip.
Первое использование: загрузка одного видео
- Откройте в браузере страницу с видео и скопируйте URL.
- В терминале выполните:
yt-dlp https://www.youtube.com/watch?v=f6wtF_2eyrUПо умолчанию файл будет скачан в текущую директорию с форматами по умолчанию; чаще всего это MP4 или WEBM.
Пример из статьи: видео «Glyn Moody: Walled Culture—A Journey Behind the Copyright Bricks» распространяется под лицензией Creative Commons Attribution (CC BY 3.0), что позволяет адаптировать и распространять материал при указании авторства.
Список форматов и выбор нужного
Флаг –list-formats покажет доступные потоки (видео/аудио), кодеки, разрешения и примерные размеры:
yt-dlp --list-formats https://www.youtube.com/watch?v=f6wtF_2eyrUПосле выбора ID формата используйте флаг -f. Примеры:
Скачать только аудио (ID 140 в примере):
yt-dlp -f 140 https://www.youtube.com/watch?v=f6wtF_2eyrUСкачать лучшее доступное видео и аудио и слить в один файл:
yt-dlp -f "bv*+ba" https://www.youtube.com/watch?v=f6wtF_2eyrU -o "%(id)s.%(ext)s"Совет: для большинства задач удобно использовать шаблон имени файла -o “%(title)s.%(ext)s” или включать плейсхолдеры: %(uploader)s, %(upload_date)s, %(id)s.
Загрузка плейлистов и извлечение MP3
Чтобы скачать весь плейлист (по умолчанию yt-dlp распознаёт параметр &list= и загрузит весь список):
yt-dlp --yes-playlist 'https://www.youtube.com/watch?v=_AnGd4PaG6U&list=PLmbToKnvW413vfHySE8AKb4i6bPnU92F7'Извлечь аудио и конвертировать в MP3 с битрейтом 160 kbps:
yt-dlp --format bestaudio --extract-audio --audio-format mp3 --audio-quality 160K --output "%(title)s.%(ext)s" --yes-playlist 'https://www.youtube.com/watch?v=_AnGd4PaG6U&list=PLmbToKnvW413vfHySE8AKb4i6bPnU92F7'Совет: для массовых загрузок используйте –download-archive archive.txt, чтобы не перекачивать уже загруженные ролики.
Гео‑блокировки и прокси
Если видео недоступно в вашем регионе, yt-dlp предоставляет несколько опций:
- –geo-verification-proxy HOST:PORT — указать прокси в целевой стране.
- –geo-bypass — попытаться подделать заголовки для обхода гео‑проверки.
- –geo-bypass-country XX — подделать двубуквенный код страны (например, US).
Эти механизмы работают не всегда: некоторые сервисы проверяют IP, используют token‑based доступ или DRM. В таких случаях рассматривайте VPN или официальный способ доступа.
Полезные флаги и шаблоны
- -o “%(title)s.%(ext)s” — шаблон имени файла.
- –download-archive FILE — занести скачанные id, чтобы не дублировать.
- –cookies cookies.txt — использовать cookies из браузера (полезно для приватных/age‑restricted видео).
- –merge-output-format mp4 — принудительно объединять в mp4 при необходимости.
- –embed-subs, –sub-lang ru, –write-sub — скачивать и встраивать субтитры.
- –write-thumbnail, –embed-thumbnail — сохранить и встраивать превью в файл.
- –limit-rate 500K — ограничить скорость загрузки.
- –recode-video mp4 — перекодировать конечный файл в mp4.
- –concurrent-fragments N — увеличить параллельность для HLS/DASH при поддержке.
Пример комплексной команды (плейлист → MP3, пропуск уже скачанных):
yt-dlp --download-archive downloaded.txt --yes-playlist --format bestaudio --extract-audio --audio-format mp3 --audio-quality 192K --output "/media/music/%(uploader)s/%(title)s.%(ext)s" 'https://www.youtube.com/playlist?list=...'Работа с cookies и приватными видео
Если видео доступно только авторизованным пользователям, экспортируйте cookies из браузера (например, расширением EditThisCookie или браузерными инструментами) и используйте –cookies:
yt-dlp --cookies /path/to/cookies.txt https://www.youtube.com/watch?v=PRIVATE_IDВажно: храните cookie‑файлы безопасно и не публикуйте их.
Когда yt-dlp не сможет скачать видео — типичные причины
- DRM/Encrypted streams: защищённые потоки, требующие подписанных ключей.
- Аутентификация через защищённые токены, недоступные из cookies.
- Частые изменения сайта: сайт изменил структуру, и нужен апдейт yt-dlp.
- Ограничения провайдера: блокировка IP или капча.
- Географические/лицензионные ограничения, которые не снять подделкой заголовков.
Если одна опция не помогает, попробуйте другую: обновите yt-dlp, используйте cookies, смените прокси или VPN.
Альтернативные подходы
- youtube-dl — предшественник yt-dlp; иногда работает, но обновляется реже.
- Расширения браузера — удобно для одиночных загрузок, но риск безопасности и утечек данных.
- Веб‑сервисы — просты, но зависят от сторонних сайтов и ограничений по размеру/скорости.
- Съем экрана (screen capture) — универсальный способ для DRM или защищённого контента.
Ментальные модели: как понимать потоки
- DASH/HLS: видео и аудио могут поставляться как отдельные потоки (adaptive streaming). yt-dlp скачает их и сольёт.
- Формат/кодек vs контейнер: кодек — как H.264/VP9/AAC, контейнер — MP4/WEBM. При необходимости yt-dlp может перекодировать или объединить.
Безопасность и конфиденциальность
Важно: используйте yt-dlp только для контента, на который у вас есть право. Храните cookies и ключи отдельно.
Рекомендации:
- Не храните cookies в общедоступных папках.
- Запускайте yt-dlp в окружении с ограниченными правами, если обрабатываете неизвестные ссылки.
- Проверяйте загружаемые файлы антивирусом, особенно если используете сторонние сайты.
Юридическая сторона
Скачивание контента обычно нарушает условия использования сервисов. Правовая сторона зависит от страны, лицензий авторов и наличия DRM. Публичные домены и материалы с явным разрешением (например, CC BY) безопасны для загрузки и дальнейшего использования в рамках лицензии. Вопросы соблюдения закона стоит решать с юристом при коммерческом использовании.
Роли и чеклисты
Чеклист для пользователя (одиночная загрузка):
- Скопировать URL видео.
- Проверить лицензию (CC/Public domain/прочее).
- Выполнить yt-dlp с нужным флагом -f/-o.
- Проверить целевой файл на целостность и метаданные.
Чеклист для архиватора (пакетная загрузка):
- Составить список URL в batch.txt.
- Настроить –download-archive archive.txt.
- Указать шаблон выхода и структуру папок.
- Настроить логирование и ротацию логов.
- Тестовая загрузка 1–2 элементов.
SOP: быстрый рабочий процесс для массового архива
- Собрать исходный список URL в urls.txt.
- Обновить yt-dlp: python3 -m pip install -U yt-dlp или перекачать бинарник.
- Запустить команду:
yt-dlp --batch-file urls.txt --download-archive downloaded.txt --format best --output "/archive/%(upload_date)s/%(uploader)s/%(title)s.%(ext)s"- Проверить логи на ошибки; повторить для ошибочных записей.
- При необходимости конвертировать контейнеры и встраивать метаданные.
Критерии приёмки
- Для каждого URL есть файл в целевой папке.
- Файлы не перечислены как повреждённые по ffmpeg.
- Дубликаты отсутствуют благодаря download-archive.
Мини‑методология: безопасная загрузка
- Проверить лицензию видео.
- Использовать cookies только при необходимости и хранить их в защищённом месте.
- Логировать операции и хранить архив ID.
- Обновлять yt-dlp регулярно (bugfixes и поддержка новых сайтов).
Решение «что делать, если не скачивается» (диагностика)
flowchart TD
A[Видео не скачивается] --> B{Ошибка DRM?}
B -- Да --> C[Нельзя скачать стандартными средствами: рассмотрите запись экрана]
B -- Нет --> D{Требуется авторизация?}
D -- Да --> E[Экспортируйте cookies и попробуйте снова]
D -- Нет --> F{Гео‑блок?}
F -- Да --> G[Попробуйте --geo-bypass или прокси/VPN]
F -- Нет --> H{Сайт изменился?}
H -- Да --> I[Обновите yt-dlp или проверьте issue на GitHub]
H -- Нет --> J[Проверьте сеть, капчу, ограничения провайдера]Глоссарий (одно предложение для каждого термина)
- DASH/HLS: адаптивные протоколы потоковой передачи, разделяющие аудио и видео на фрагменты.
- Контейнер: формат файла (например, MP4, WEBM), в котором хранятся потоки.
- Кодек: способ кодирования видео/аудио (H.264, VP9, AAC).
- Cookie: данные аутентификации браузера, используемые для доступа к приватному контенту.
Совместимость и миграция от youtube-dl
yt-dlp совместим с большинством флагов youtube-dl, но имеет дополнительные опции и плагины. При миграции проверьте пользовательские конфиги и шаблоны вывода: часто они работают без изменений.
Риски и смягчения
- Устаревание: обновляйте yt-dlp регулярно.
- Конфиденциальность cookies: храните в защищённых директориях и используйте ограниченные учётные данные.
- Правовые риски: проверяйте права и лицензии перед массовым скачиванием.
Короткое объявление (для рассылки)
Используйте yt-dlp для надёжной загрузки видео и аудио с YouTube на Linux: простая установка, поддержка плейлистов и конвертация в MP3. Подробное руководство с примерами и чеклистами внутри статьи.
Короткий итог
- yt-dlp — мощный инструмент для скачивания и обработки видео/аудио из терминала.
- Используйте бинарник или pip для установки и обновляйте регулярно.
- Применяйте –list-formats, -f, -o и –download-archive для контроля качества и структуры архива.
- Соблюдайте правила лицензирования и обеспечьте безопасность cookies и логов.
Важное: всегда проверяйте лицензию конкретного ролика перед загрузкой и используйте yt-dlp только в рамках прав, предоставляемых автором или законом.
Похожие материалы
Отключить подсказки поиска в Firefox
Музыкальный плеер на Python с Tkinter и PyGame
Как исправить grub rescue в Windows 10
Будильник iPhone: как не проспать
Как снимать TikTok POV — полное руководство