Выражу свое частное мнение по этому поводу. Я разработчик облачной CMS, и после "замедления YouTube", многие пользователи начали активно переходить на отечественные видеохостинги, и возникла необходимость интегрировать VK, RuTube, Ok.ru на нашу платформу. И казалось бы все должно быть максимально просто, но не тут то было...
Для многих сказанное ниже, может показаться невесомым аргументом, и я с ними отчасти соглашусь. Кто-то скажет, нельзя судить о таких сложных проектах по одному лишь кейсу с получением миниатюр к видео, но я убежден что практически всегда можно экстраполировать что-то простое и понятное, на всю глубину проекта и сделать вывод (пусть и поверхностный) об уровне исполнения проекта, тем более у нас как у разработчиков есть с чем сравнивать.

Как получить обложку из Youtube.
Ссылка на видео выглядит так: youtube.com/watch?v=${VIDEO_ID}
Ссылка на обложку это i.ytimg.com/vi/${VIDEO_ID}/mqdefault.jpg
Т.е. зная VIDEO_ID мы по простейшей логике формируем ссылку на изображение обложки, все просто
Как получить обложку из VK.video
Ссылка на видео выглядит так: https://vk.ru/video_ext.php?oid=${OID}&id=${ID}
Ссылка на обложку вытягивается через API (но тут есть сложности с ключами доступа, с их быстрым истечением, долгоживущим ключом приложения получать любые видео невозможно), либо через парсинг embeded страницы (но размер обложки будет неуправляемым), в ссылке на изображение также зашит токен доступа, без него картинка не будет прогружаться
Т.е. простая задача усложнена, по сравнению с youtube
Как получить обложку из Rutube
Ссылка на видео выглядит так: https://rutube.ru/video/${VIDEO_ID}
Ссылка на обложку вытягивается через публичное API https://rutube.ru/api/play/options/${VIDEO_ID}, из ответа берем обложку и добавляем к ней нужный size, пример: ${thumbnail_url}?size=w306
По сравнению с youtube задача также усложнена дополнительным запросом к API
OK.ru
Тут получить обложку получилось только через парсинг embeded страницы, все тоже усложнение по сравнению с youtube
Youtube | VK.Видео | Rutube | OK.ru | |
Кол-во запросов для получения обложки | 0 | 1 | 1 | 1 |
Способы получения обложки | Подставление ID в стандартный URL | API / парсинг embeded страницы | API (незадокументированное) / парсинг embeded страницы | Парсинг embeded страницы |
Есть ли токены доступа в ссылке на обложку | нет | Да | Да | Да |
Вероятность того, что обложка станет нерабочей | нет | Теоритечески да, т.к. токен вшитый в ссылку на изображение может "протухнуть" | Теоритечески да, т.к. токен вшитый в ссылку на изображение может "протухнуть" | Теоритечески да, т.к. токен вшитый в ссылку на изображение может "протухнуть" |
Итог
Мы успешно интегрировали все перечисленные видеохостинги в свою CMS, но как говорится "осадочек остался". Решил поделиться им с вами, возможно данный опыт будет кому-то полезен. Да и теплится надежда что этот материал подтолкнет разработчиков видеохостингов упростить жизнь своим коллегам.
Youtube при всей своей мощи, даже в таком простом кейсе как получение обложки из ссылки видео, заметно выигрывает у VK, Rutube и Ok.ru, не требует никаких ключей, костылей. Все просто: У Youtube зная id видео мы также знаем и ссылку на обложку.
Я уверен что отечественные платформы, могли бы взять за референс youtube и упростить разработчикам жизнь. В этом и других кейсах.
Надеюсь эта статья когда-нибудь потеряет свою актуальность, платформы сделают адекватный апгрейд, youtube наконец-то "починит свои кэши"