Так что в последнее время у меня были проблемы с загрузкой некоторых видео с Youtube, таких как это:

https://www.youtube.com/watch?v=xouo8ktxZNc

Я пробовал KeepVid, DownloadHelper, скрипт Greasemonkey и youtube-dl, и работал только youtube-dl. Я заметил эту проблему с KeepVid в течение нескольких месяцев. И в то же время они скачивают другие видео совершенно нормально.

Так кто-нибудь знает, почему эти менеджеры загрузки не работают? Я сомневаюсь, что это потому, что Youtube меняет протоколы, потому что для некоторых видео он все еще работает и работает все время.

1 ответ1

1

Отказ от ответственности: я являюсь одним из основных разработчиков youtube-dl.

То, что вы видите как единый YouTube, на самом деле представляет собой множество различных протоколов и вариаций. Так что, хотя каждое видео выглядит одинаково, есть значительные различия:

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

Конечно, существует значительное совпадение, многие видео доступны в различных форматах: HTTP, HTTP с подписью, DASH, DASH с подписью, RTMP, HLS, HLS с подписью. Без публичного заявления YouTube все, что мы можем сделать, это угадать и реализовать все - и это именно то, что пытается сделать проект youtube-dl (и, вероятно, другие проекты, которые вы перечислили).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .