Качество картинки на YouTube варьируется от 144p (144 строчки в прогрессивной развёртке) до 8K 4320p. Последнее видео в четыре раза крупнее 4К 2160p, в шестнадцать — 1080p, в тридцать шесть — 720p, который также называют HD.
Мало какой компьютер может проиграть это видео в его полном разрешении, а доступных по цене 8K-мониторов в мире просто нет.
Технология MPEG-DASH разбивает контент на куски, а браузер запрашивает эти сегменты автоматически. Логично хранить и отдавать отдельно видео и звук. У DASH есть жирный плюс: адаптивность воспроизведения.
Несколько лет назад пользователи YouTube заметили введение DASH по тому, что буферизация видео больше не шла до конца ролика, а ограничивалась примерно минутой. Около того же времени другая проблема возникла у скачивающих видео с YouTube. Внезапно обнаружилось, что ролики с качеством 1080p доступны в виде файлов без звука. Сайты-сервисы, которые раньше выдавали ссылки на скачивание видео, отдавали лишь 720p, не выше. Около 1080p стояло «без звука» или «только видео».
Простое решение: скачать файл видео, скачать файл звука и объединить их с помощью, к примеру, FFmpeg. Сайты скачивания на это не решились: для этого нужен трафик, дисковое пространство для хранения, наконец, можно получить бан по IP от самого YouTube. Подобные сервисы живут на доходах от баннеров, а на эти деньги подобное не позволить.
Проблему можно решить на стороне клиента. Пользователю же нужно разобраться, как скачать исходные данные с YouTube, определиться с их качеством и выбрать лучшие варианты. Видео хранится в VP9 и MP4, звук — M4A, Vorbis или Opus в WebM. Есть много вариантов с разным битрейтом. После этого нужно сшить всё в контейнер .mp4 или .mkv. В зависимости от выбранных форматов команда для FFmpeg может выглядеть как
ffmpeg -i videoplayback.mp4 -i videoplayback.webm -c:v copy -c:a copy videoplayback.mkv
, где videoplayback.mkv — наш готовый файл.Процесс однообразен, почему бы его не автоматизировать? Есть утилита, которая выполняет всё это самостоятельно и поддерживает ещё несколько видеохостингов.
youtube-dl
youtube-dl — кроссплатформенный свободный проект с открытым исходным кодом на Python. Разработку начал Рикардо Гарсиа, сегодня проект ведут несколько контрибьюторов.
На странице скачивания доступны версия для Windows и инструкции по установке для UNIX-подобных систем (Linux, OS X, FreeBSD и прочие). Для работы в Windows обязательно наличие Microsoft Visual C++ 2010 Redistributable Package x86, для всех остальных — версия Python 2.6, 2.7, 3.2 или выше.
youtube-dl есть в каталогах пакетов некоторых дистрибутивов Linux:
sudo apt-get install youtube-dl
, sudo yum install youtube-dl
, sudo pacman -S youtube-dl
— всё это должно установить утилиту. Вернее, одну из её версий, которые быстро устаревают. Логичнее установить python-pip
, а затем устанавливать оттуда: sudo pip install youtube-dl
. Для сравнения: на момент написания статьи в репозиториях Debian лежит версия 2014.08.05, в то время как актуальной является 2016.11.4.Часть из дальнейших инструкций относится только к пользователям на Windows 10, но общие принципы работают везде. Переместите скачанный файл
youtube-dl.exe
в любую папку, к примеру, создайте папку Downloads
в Videos
. В «Проводнике» в меню «Файл» откройте «Командную строку».Итак, чтобы выкачать видео в максимальном разрешении и с наилучшим звуком, необходимо ввести команду вида
youtube-dl https://www.youtube.com/watch?v=miVRaoR_8xQ
То есть нужна ссылка на страницу с роликом. В Windows 10 в «Командной строке» работает вставка по Ctrl + V. В более ранних версиях нужно правым щелчком мыши открыть контекстное меню и выбрать пункт меню «Вставить».
Скачивание плейлистов происходит аналогичным образом. Формат ссылки на плейлист —
https://www.youtube.com/playlist?list=PL94A83DC128CC6B4B
, то есть нужно зайти на главную страницу плейлиста. Осторожно: youtube-dl выкачает все видео в плейлисте.Можно выкачать все видео пользователя: нужно лишь подставить ссылку на канал в виде
https://www.youtube.com/user/username
.По флагу
-F
будут показаны все доступные форматы. Если ввести флаг -f
с числовым кодом формата, он будет выкачан. Комбинация -f bestaudio
выкачает аудио в лучшем формате.Процесс выкачивания 981 роликов в виде аудио с канала корейской АСМР-щицы.
Одним YouTube дело не ограничивается: программа умеет качать с большого числа сайтов. Если закачку прервать по Ctrl + C, а затем начать снова, утилита распознает недокачанный фрагмент и начнёт качать остаток.
Видеосервисы регулярно обновляют свои плееры, часть борется с «качальщиками», youtube-dl добавляет в список поддерживаемых новые и новые сайты. Поэтому иногда желательно обновляться. В самостоятельно выкачанных версиях обновление выполняется по
youtube-dl -U
(sudo
по необходимости). В случае pip нужно запустить sudo pip install -U youtube-dl
.» Официальная документация youtube-dl
Аналоги
В качестве аналога небольшой свободной утилитки без графического интерфейса можно привести Freemake Video Downloader. Этот софт содержит эталонный набор отвратительных практик дешёвого софта для Windows.
На странице скачивания продукт рекламируется как бесплатный. Как это часто случается, в дополнение к самой программе инсталлятор пытается поставить сторонний продукт. Это уже настолько привычно, что стало нормой. Установки ненужностей можно избежать только, если выбрать установку с опциями. Лучше всего установщик не запускать вообще: программу обвиняли в подкидывании троянов, шпионского ПО и adware даже при снятии всех галочек.
Программа умеет скачивать видео со звуком с YouTube в разрешении в 1080p и выше. Есть лишь одна проблема: в бесплатной версии можно качать только на скорости в 4 мегабайта в секунду. Чтобы снять ограничение, нужно выложить 10 долларов. Всё это немного противоречит заявлениям о бесплатности. Сам интерфейс программы безвкусен и содержит много рекламы других продуктов фирмы-изготовителя.
Другой подобный софт для выкачивания видео выполняет тривиальную задачу, но требует плату за снятие ограничений. Добросовестным можно назвать разве что Free Download Manager, но его возможности по скачиванию видео слабее: нет поддержки плейлистов и каналов, список поддерживаемых сайтов ограничивается YouTube и Google Videos.
На самом деле этот пост не про конкретную программу, которая что-то умеет. И не про то, что консольные приложения лучше.
Современный пользователь приобрёл положительную привычку: когда ему нужно решить некую проблему, он набирает её описание в поисковой системе и тыкается в результаты на первой странице. За более чем полтора десятка лет существования поисковых систем и благодаря расцвету систем искусственного интеллекта вопрос «убрать морщинки» гарантированно выдаст пять—десять статей, которые почти всегда решат проблему.
На другом конце появилась другая хорошая привычка: писать софт для Windows, который решает задачу, которую можно описать с помощью поискового запроса. К примеру, «скачать видео youtube 1080p». Подобных запросов у пользователей много. Можно наделать программ под каждый из них, предоставлять бесплатную версию с возможностью апгрейда до полной за 10—30 долларов. Или продавать установки: распространять с программой нежелательный софт или вообще вирусы.
Есть прекрасный бесплатный софт с открытыми исходными кодами, который решает эти, возникающие у пользователей, запросы. Но поисковая оптимизация никогда не даст ему поселиться на первых строчках выдачи. Там сидят разнообразные программы сомнительного происхождения. Они не внушают доверия ни качеством, ни тем, что подсунет инсталлятор. В этом и есть трагедия жизни полезного софта уровня youtube-dl.
Комментарии (92)
Barafu
07.11.2016 22:23-1Расширение Хрома Video Download Manager. Принципиально не работает на Youtube, но работает вообще везде кроме него. В отличие от внешних программ может качать с сайтов с доступом только по логину.
А youtube-dl он либо толко для Youtube, либо качать по спискам готовых URLов.ChiefMate
07.11.2016 23:40А вот Download Master, в числе прочих видеохостингов, прекрасно работает и с ютубом; до 720р качает прямо искаропки, от 1080р и выше — просит доустановить небольшую утилитку Convertilla. После этого скачивание видео и аудио, а также муксирование происходит полностью автоматически.
Заголовок спойлераtandzan
08.11.2016 01:59+2Стоит добавить, что при установке DM тоже следует соблюдать осторожность, чтобы не поставить всякой ерунды, а затем вдумчиво его настраивать, чтобы не отображалось плавающее окно с рекламой и популярными файлопомойками. Плюс ютьюб теперь каждый месяц меняет защиту от скачивания видео, DM пока удар держит и оперативно обновляется.
tropico
08.11.2016 18:10+1youtube-dl намного оперативней обновляется. Раньше я также качал DM, пока не оказалось что он иногда выбирает не лучшее видео и аудио ввиду изменений на самом youtube или по каким-то другим причинам. Пришлось скачивать по второму кругу некоторые ролики.
Inventing
08.11.2016 22:23youtube-dl умеет сохранять звук с youtube битрейт которого больше чем 128 kbit/s?
GeeSVe
08.11.2016 22:34+1Download Master до сих пор жив? о_О Сколько лет уже этой программе… Бывало, думал, что там для каких-то задач может глянуть DM, но в голове тут же почему-то проносилось «хотя он наверняка уже умер».
m1skam
08.11.2016 00:41youtube-dl умеет же авторизовываться?
Barafu
08.11.2016 01:40-5Youtube-dl работает только на поддерживаемых сайтах и их технических клонах. Презентацию из корпоративной сети им не скачаешь.
redmanmale
08.11.2016 19:23+1Допишите нужный вам функционал. Опенсорс же.
Barafu
08.11.2016 19:32А мне ничего не нужно, весь софт у меня есть. Видео надёжнее скачивать плагином в браузере, а не отдельным приложением. Так можно качать с любого абсолютно сайта с любым способом авторизации.
senia
07.11.2016 23:10+1Еще полезный вариант использования — просмотр без полного скачивания:
mplayer $( youtube-dl -gf mp4 https://youtu.be/?????? )
-g — сформировать прямую ссылку на видео на stdout
-f mp4 — лучшее видео в соответствубщем форматеlopatoid
07.11.2016 23:26У меня просто работает
mpv https://www.youtube.com/watch?v=????
vlc https://www.youtube.com/watch?v=????
senia
07.11.2016 23:33mpv — это и есть урезанный mplayer со встроенным youtube-dl.
smplayer https://www.youtube.com/watch?v=???? тоже работает, но цель была в плеере без gui, так что smplayer не подходит как и vlc.AEP
07.11.2016 23:52Не совсем так. По крайней мере на Linux, mpv не идет «со встроенным» youtube-dl, а вызывает внешний, который должен быть уже установлен в системе.
Iwantbelieve
08.11.2016 08:38> цель была в плеере без gui
Нет, цель заключается в просмотре видео. К тому же, mpv это не урезанный, а доработанный mplayer. В mplayer нет и никогда не было псевдогуя с основными кнопками управления.senia
08.11.2016 10:17Моя цель была в плеере без gui: мне надо им рулить через ssh.
В mplayer был OSD.
К сожалению я помню чем закончилась предыдущая попытка «сделать все правильно» (mplayer2).
BlackRaven86
08.11.2016 00:03Отличная утилита, особенно нравится, что она может скачать целый плейлист и субтитры (!), причем субтитры может сконвертировать в привычные форматы, наподобие srt.
А одно видео можно скачать и всякими дополнениями к браузеру, наподобие Video Download Helper.
Кстати, есть еще аналогичный скрипт coursera-dl, с очевидной функциональностью :)
ClearAirTurbulence
08.11.2016 02:214k video downloader выкачал в 8к. Другое дело, что то, что youtube делает с качеством видео даже при таком высоком разрешении, не поддается описанию.
Saffron
08.11.2016 02:49Я старый пользователь youtube-dl, но лишь недавно узнал, что он теперь поддерживает и потоковое видео. livestreamer перестал обновляться, протоколы поменялись, я стал искать, что теперь является актуальным выбором — и с удивлением обнаружил, что youtube-dl может и это.
xoralex
08.11.2016 08:50Обожаю youtube-dl. Чаще всего использую его чтобы скачать лецкию или интервью с ютюба, конвертировать в мп3, и потом послушать на телефоне в свободное время. Делается это при помощи команды:
youtube-dl --extract-audio --audio-format "mp3" $@
black_semargl
08.11.2016 23:27У меня телефон и .m4a играет.
а ещё нравится ускорить воспроизведение в 1.5-2 раза
DrZlodberg
08.11.2016 09:14+1В более ранних версиях нужно правым щелчком мыши открыть контекстное меню и выбрать пункт меню «Вставить».
Справедливости ради — это зависит от настроек консоли (штатных). Даже в ХР можно включить вставку по правому клику.
bitrixworkshop
08.11.2016 10:11В моем дистрибутиве он уже есть. Но не сработал на скачивание видео из статьи:
$ youtube-dl --version 2016.01.31 $ youtube-dl https://www.youtube.com/watch?v=sLprVF6d7Ug [youtube] sLprVF6d7Ug: Downloading webpage [youtube] sLprVF6d7Ug: Downloading video info webpage [youtube] sLprVF6d7Ug: Extracting video information [youtube] sLprVF6d7Ug: Downloading DASH manifest [download] Destination: Ghost Towns in 8K-sLprVF6d7Ug.f313.webm [download] 100% of 185.98MiB in 00:19 [download] Destination: Ghost Towns in 8K-sLprVF6d7Ug.f251.webm [download] 100% of 2.03MiB in 00:00 [ffmpeg] Merging formats into "Ghost Towns in 8K-sLprVF6d7Ug.webm" ERROR: file:Ghost Towns in 8K-sLprVF6d7Ug.f251.webm: could not find codec parameters
Чем недовольна софтина?
Я вижу «could not find codec parameters». Но что не хватило при слиянии?
p_fox
08.11.2016 10:11Утилита полезная, но какое преимущество по сравнению с конкурентами?
Бесплатный UmmyVideoDownloader качает с Ютуба от 144р до 8к включительно. И даже один звук в мп3 может вытащить.Priapus
08.11.2016 10:59+2Вы правда не понимаете, какое преимущество у мощнейшей кроссплатформенной консольной утилиты, которая позволяет качать из 100500 мест с кучей настроек перед какой-то гуевой виндовой ютубокачалкой?
И даже один звук в мп3 может вытащить.
вы не поверите…Lazm
08.11.2016 12:23Когда нужны только ютуб и рутуб — для меня Ummy лучший. Простой и очень удобный.
AntiEvil
08.11.2016 10:11Ребят, скажите пожалуйста, в чём беда.
После скачивания видео, файла в папке нет, просто нет и всё.
Весь нужный софт установлен:
Заголовок спойлераhttps://lut.im/gallery#3X07wvX2jn/BFU2wZqThgJr3SiO.pngtruemutant
08.11.2016 10:11Для более удобного использования youtube-dl могу порекомендовать отличный GUI youtube-dlG:
mrs0m30n3.github.io/youtube-dl-gui
mistergrim
08.11.2016 10:11+2> В этом и есть трагедия жизни полезного софта уровня youtube-dl.
Его трагедия в том, что никто не удосуживается написать к нему простую графическую обёртку.Priapus
08.11.2016 10:52+31. Комментарием выше ссылка на какую-то обертку.
2. На кой черт эта обертка нужна?mistergrim
08.11.2016 11:48+4Вот из-за подхода «2» такой софт всегда и будет на задворках.
Вам не нужна, мне не нужна, а 99% людей — нужна. Что косвенно доказывается существованием платного софта.
Massacre
08.11.2016 11:582. Софт для видео без GUI? Это как использовать lynx основным браузером… Вообще, тот же openvpn, к примеру, сразу предлагает графическую обёртку с сайта (сторонний проект, но интегрировали в основной).
mistergrim
08.11.2016 13:14Нет, ну видео в данном случае как раз ни при чём, с таким же успехом это мог бы быть софт для скачивания с файлообменника. Просто адепты командной строки, как всегда, не считаются с тем, что управление подобным софтом должно быть САМООЧЕВИДНЫМ, ну никто, никто не станет читать маны, чтобы скачать котиков, едящих блинчики, с ютуба.
А кто-то даже и заплатит несколько десятков $, чтобы ему облегчили этот процесс.
armspecial
08.11.2016 10:39как скачать например из vesti.ru и из таких сайтов, где видео идет по несколько файлов по несколько кб.
perfect_genius
08.11.2016 19:38От таких тяжёлых случаев спасает GetFLV.
armspecial
08.11.2016 19:40спасибо, уже несколько недель не мог найти нормальную прогу
perfect_genius
08.11.2016 20:44В бесплатной версии есть ограничение на размер скачиваемого, но прямую ссылку на видео не скрывает, поэтому легко скачать в браузере или другими способами.
armspecial
08.11.2016 21:06Попробовал, с vimeo не работает, там сказана что есть поддержка, я нашел про версию.качает только первую часть 5мб.
perfect_genius
09.11.2016 09:24Действительно, с Vimeo не перехватывает, удивительно. Первый раз такое.
Для Vimeo тогда вполне удобен savefrom.net
rPman
08.11.2016 11:24+1меня больше удивляет, почему ни один поисковый сервис не выдает ссылку на youtube-dl при запросе youtube video download opensource!
я пойму, если google фильтрует неугодный, или yandex не умеет, но dockduckgo по уму должен был бы найти (по запросу youtube-dl все показывают первыми ссылками на исходники)Massacre
08.11.2016 12:05Конкретно по youtube-dl гугл показывает ссылки на гитхаб, потому что там и хостится их «сайт». Там даже документация идёт прямой ссылкой в репозиторий. Думаю, поэтому оно так и индексируется.
shuvaevgl
08.11.2016 12:00У меня при скачивании ссылки вида youtube-dl https://www.youtube.com/watch?v=ХХХХХ скачивается только 720p.
А вот если сделать youtube-dl -f bestvideo https://www.youtube.com/watch?v=ХХХХХ, тогда качается в 1080р. Но без звука. Звук тоже можно отдельно скачать и потом закинуть в контейнер, но ведь хочется без лишних телодвижений. Есть метод?12hours
08.11.2016 13:28+1
аудио и видео смержится автоматически.youtube-dl -f 137+140 https://www.youtube.com/...
выведет список всех доступных форматовyoutube-dl -F https://www.youtube.com/...
bibliary
08.11.2016 14:52Спасибо, почему то в статье не указано что нужно через -F посмотреть форматы и с + выбрать видео и звук.
tropico
08.11.2016 18:19Можно создать конфигурационный файл с параметрами (какой формат видео/аудио, куда качать) и не заморачиваться каждый раз с их прописыванием в командной строке.
black_semargl
08.11.2016 23:33У меня такой формат -f 'bestvideo+bestaudio/best'
Твоя команда на скачивание только видео.
Можно так задать чтобы случайно 8к не скачала (размер по вкусу, у меня для смартфона)
'bestvideo[height<=480]+bestaudio/best[height<=480]'
Tabke
08.11.2016 12:02-1Использую JDownloader2, который ещё и с Twitch умеет качать да и вообще много откуда. И бесплатный.
roscha
08.11.2016 13:29+2он с AdWare
Tabke
08.11.2016 19:55В чём это выражается? Не заметил просто.
То что при установке пытается всякую хрень поставить, так это сейчас норма для любого свободного софта, можно отказаться и не ставит. Ну или снести потом.roscha
09.11.2016 16:51Да, именно 'Bundled', т.е.
монетизация за счёт комплектования установщика всякой дрянью
типа "Защитник MAIL.ru" и Яндекс.СоветникTabke
09.11.2016 17:43Так это во всём фри софте так сейчас, даже в старом и привычном типа uTorrent и K-Lite. Можно же отказываться от этого всего ещё на этапе установки.
roscha
11.11.2016 12:33*bundleware
я предпочитаю, чтобы за меня отказывались мэйнтейнеры Chocolatey,
но для юзверей — это миллион Браузеров Амиго-Трусы-Нихром и Яндекс.Панель на полэкрана
я, после того, как увидел Яндекс.Панель — стал понимать — кто они такие — эти маркетолухи из Яндекса
Shlyapa
08.11.2016 13:25+1Люди познают мир, про youtube-dl узнали :-)
Оно, кстати, кроме ютуба умеет и вымео, вк, рутуб и еще 9000 видеохостингов.
Saffron
08.11.2016 14:24+1Самое прекрасное с youtbe-dl, что он работает, даже когда ваш браузер не поддерживает flash и javascript. И рекламы не кажет при этом.
Inventing
08.11.2016 16:32Какая утилита умеет сохранять звук с youtube битрейт которого больше 128 kbit/s?
VVSite
09.11.2016 00:06youtube-dl с параметром -F выдает все возможные форматы. Для примера:
#Узнать форматы
youtube-dl https://www.youtube.com/watch?v=iNJdPyoqt8U -F
#Скачать видео
youtube-dl https://www.youtube.com/watch?v=iNJdPyoqt8U -f 137
#Скачать аудио
youtube-dl https://www.youtube.com/watch?v=iNJdPyoqt8U -f 141
#Объединить видео и аудио ffmpeg-ом
ffmpeg -i Go_Beyond.mp4 -i Go_Beyond.m4a -c:v copy -c:a aac -strict experimental Go_Beyond_m.mp4
PS: В командах на скачивание цифры в конце после -f могут отличаться от тех, что в примере. Выбирайте их исходя из результата команды -FLESHIY_ODESSA
09.11.2016 02:16Выше же дали пример с объединением.
youtube-dl -f 137+140 https://www.youtube.com/watch?v=NSf_KxfwwEQ
RomaS
08.11.2016 16:32+1Дополнение для Firefox
https://addons.mozilla.org/ru/firefox/addon/youtube-video-and-audio-dow
YouTube Video and Audio Downloader
Я пока что ничего лучше не нашел. Умеет все форматы и разрешения, почитайте в описании дополнения.
Krey
08.11.2016 17:48Да, полезная программка. Уже несколько месяцев висит на NAS`е скрипт в кроне http://pastebin.com/WJVbymnn, который ночью скачивает новенькие видосики с десятка ютуб-каналов по списку. И шлет мыло чего новенького появилось Жить стало чуточку проще :)
shuvaevgl
08.11.2016 18:49Мне подсказали, что есть еще один способ скачивания роликов с Youtube.
У меня есть NAS от QNAP и там есть плагин Happyget2. Так что это может быть интересно для владельцев QNAP.
Этот плагин есть для большинства браузеров, я поставил под Chrome. после установки появляется доп.кнопка на самом сайте под окном просмотра, а при ее нажатии автоматически отправляется задание сетевому накопителю скачать файл. Удобно! Здесь инструкция, если кому нужно.
А дополнительная кнопка выглядит так:
YuriM1983
08.11.2016 22:16Сколько всяких разнообразных программ, что мне даже стыдно упоминать, что пользуюсь скромным скриптом для GreaseMonkey в Firefox:
https://greasyfork.org/ru/scripts/1317-download-youtube-videos-as-mp4
LESHIY_ODESSA
08.11.2016 23:30+1Вот еще интересный вариант:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4 https://www.youtube.com/watch?v=NSf_KxfwwEQ
EagleXK
09.11.2016 00:52А я в случае необходимости сохраняю через savefrom.net — к тому же для браузеров имеются удобные аддоны:
roscha
09.11.2016 16:58-1там еврейско-гейский Яндекс.Советник намертво вшит, добавляющий панельку цен с Маркета в кучу сайтов магазинов
особенно забавно их маркетинговая перхоть выглядит где-нибудь на странице обсуждения покупки YotaPhone из Кетая за 8999 руб. — педики из Яндекс.Не.Нужен предлагают купить в аффилированных магазинах за 19999
Раньше можно было штатно отключить эту каку везде и всюду,
но теперь жидва обнаглела и если не хочешь смотреть на их агрессивный спам — только сносить SaveFrom.net Helper или лезть в код (наверняка обфускацированный)
:-(
pestilent
11.11.2016 11:40Хм, у меня советник отключен. Точнее, там аж 2 советника, оба отключены. Последнее обновление позавчера. Может, конечно, возможность отключать только под линуксом оставили…
Baton34
Firefox + flashgot + download master. Выбираю любую комбинацию имеющегося качества звука/видео, ffmpeg муксит звук с видео.