Отказ от ответственности: я являюсь одним из основных разработчиков youtube-dl.
То, что вы видите как единый YouTube, на самом деле представляет собой множество различных протоколов и вариаций. Так что, хотя каждое видео выглядит одинаково, есть значительные различия:
- Для некоторых видео API достаточно стабилен и использует HTTP. Этот класс, кажется, выбран для большинства "обычных" видео, загруженных вами и мной, а не какой-то крупной организацией. В последнее время они все больше переключаются на DASH, хотя прежний формат остается для видео низкого качества (<1080p).
- Музыкальные видео обычно используют HTTP или DASH, но требуют дополнительного шага декодирования URL, что может быть довольно сложным, поскольку включает интерпретацию кода Flash или JavaScript.
- Фильмы, кажется, используют еще одну совершенно другую схему, а именно RTMP.
- Прямые трансляции, даже когда они записаны, обычно используют HLS, иногда исключительно.
Конечно, существует значительное совпадение, многие видео доступны в различных форматах: HTTP, HTTP с подписью, DASH, DASH с подписью, RTMP, HLS, HLS с подписью. Без публичного заявления YouTube все, что мы можем сделать, это угадать и реализовать все - и это именно то, что пытается сделать проект youtube-dl (и, вероятно, другие проекты, которые вы перечислили).