Выпущено важное обновление yt-dlp.
yt-dlp — инструмент для загрузки видео с видео-сервисов (в том числе и YouTube). Самый популярный и активно развивающийся форк знаменитого проекта youtube-dl (через yt-dl). yt-dl и youtube-dl давно не развиваются и главными целями yt-dlp является обновление оригинального проекта, включение в него новых функций и исправление проблем. Крайне популярен среди сторонних разработчиков, встраивающих yt-dlp в свои программы. На данный момент это активный проект, имеющий 135 000 (ого!) звёздочек популярности на Гитхабе.
Это очень важное обновление. Начиная с этой версии, yt-dlp включает поддержку работы с внешней средой выполнения JavaScript, которая теперь практически необходима для полноценной работы программы с сервисом YouTube. Она не входит в состав программы и требует отдельной установки.
YouTube усложнил механизм генерации ссылок с веб-страницы на видео-потоки. Раньше yt-dlp сам разбирал JavaScript-код YouTube для извлечения целевых ссылок с веб-страниц, но теперь YouTube сделал его настолько сложным и динамическим, что встроенный парсер (Python) стал ненадежным. Поэтому разработчики yt-dlp решили вынести выполнение YouTube-скриптов в полноценный JavaScript-движок (Deno, Node.js, QuickJS, Bun…). Немного дополнительных технических подробностей можно получить в официальном объявлении разработчика.
Разумеется, что все это касается как рядовых пользователей, так и сторонних разработчиков, встраивающих yt-dlp в свои программы (а это очень популярно).
В общем, поддержка YouTube в yt-dlp без среды выполнения JavaScript теперь считается устаревшей. На данный момент программа может работать и без среды JavaScript, но не полноценно — возможны ограничения и ошибки. Также разработчик уточняет, что в ближайшем будущем работа программы без среды выполнения JavaScript будет ухудшаться, а потом и вовсе станет невозможной.





