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

Для многих сказанное ниже, может показаться невесомым аргументом, и я с ними отчасти соглашусь. Кто-то скажет, нельзя судить о таких сложных проектах по одному лишь кейсу с получением миниатюр к видео, но я убежден что практически всегда можно интерполировать что-то простое и понятное, на всю глубину проекта и сделать вывод (пусть и поверхностный) об уровне исполнения проекта, тем более у нас как у разработчиков есть с чем сравнивать.

Так выглядит интерфейс для добавления видео, добавленные видео отображаются с .jpg/.png обложками (не iframe)
Так выглядит интерфейс для добавления видео, добавленные видео отображаются с .jpg/.png обложками (не iframe)

Как получить обложку из Youtube.

  • Ссылка на видео выглядит так: youtube.com/watch?v=${VIDEO_ID}

  • Ссылка на обложку это i.ytimg.com/vi/${VIDEO_ID}/mqdefault.jpg

  • Т.е. зная VIDEO_ID мы по простейшей логике формируем ссылку на изображение обложки, все просто

Как получить обложку из VK.video

  1. Ссылка на видео выглядит так: https://vk.ru/video_ext.php?oid=${OID}&id=${ID}

  2. Ссылка на обложку вытягивается через API (но тут есть сложности с ключами доступа, с их быстрым истечением, долгоживущим ключом приложения получать любые видео невозможно), либо через парсинг embeded страницы (но размер обложки будет неуправляемым), в ссылке на изображение также зашит токен доступа, без него картинка не будет прогружаться

  3. Т.е. простая задача усложнена, по сравнению с youtube

Как получить обложку из Rutube

  1. Ссылка на видео выглядит так: https://rutube.ru/video/${VIDEO_ID}

  2. Ссылка на обложку вытягивается через публичное API https://rutube.ru/api/play/options/${VIDEO_ID}, из ответа берем обложку и добавляем к ней нужный size, пример: ${thumbnail_url}?size=w306

  3. По сравнению с 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 наконец-то "починит свои кэши"

Комментарии (26)


  1. Astrolux78
    01.09.2024 11:07
    +20

    Почему в опросе нет варианта "никогда не заходил на них, и не собираюсь ни при каких обстоятельствах"?


    1. beatleboy Автор
      01.09.2024 11:07
      +3

      Добавил четвертым вариантом


  1. Thar0l
    01.09.2024 11:07
    +34

    Ответ на вопрос из заголовка лежит далеко не в технической плоскости.

    Даже если технически довести уровень отечественных сервисов до уровня того же YouTube, проблему наличия контента это не решит.

    Суть YouTube в глобальности. Вряд ли я на том же Rutube или VK Video смогу найти видео, где какой-то кореец разбирает микрофон такой же модели как у меня, или американец показывает хитро расположенные винты крепления клавиатуры ноутбука выпуска начала нулевых, или где немецкий стример играет в свежую версию крупного мода для Factorio с разбором механик, или американский препод рассказывает как писать модули для ROS своим студентам.

    Причем в половине случаях знание языка автора не нужно, достаточно просмотра видеоряда. На отечественных сервисах, как бы их не рекламировали данный контент если и появится когда-то, то далеко не в том объеме в каком он есть на международной площадке. Просто потому что он узконишевой.


    1. Sonichka
      01.09.2024 11:07
      +1

      А как на YouTube найти видео, как китаец разбирает клавиатуру?


      1. Fahrain
        01.09.2024 11:07
        +2

        Идешь в Гугл-переводчик, вбиваешь запрос, получаешь магические иероглифы на китайском. Через буфер обмена бережно несешь их в поиск. Если поиск ютуба всё равно не выдал ничего полезного, то надо взять обычный поиск гугла и потом просто переключить там вкладку на видео. Дополнительно можно ограничить срок результатов - "в этом году" вполне подойдет.


        1. Sonichka
          01.09.2024 11:07

          А вот и нет.

          У китайцев есть свой bilibili.

          И на YouTube нельзя найти официальную информацию, что сейчас происходит в Курске. Поэтому YouTube скорее всего в будущем заблокируют за ограничение свободы слова.


          1. Fahrain
            01.09.2024 11:07
            +3

            У китайцев есть свой bilibili.

            Ну, есть. Можно и там искать - кто вам мешает? Самое интересное частично на ютубе продублировано и тоже находится - иногда даже сами авторы-китайцы это и делают. Я много смотрю китайского на ютубе)

            Поэтому YouTube скорее всего в будущем заблокируют за ограничение свободы слова.

            Угу. Расскажите это всё Дурову, вот он порадуется!


            1. Sonichka
              01.09.2024 11:07

              Курск? А?

              А Дуров, чувствует свободу Франции!


          1. GDragon
            01.09.2024 11:07
            +2

            Чего чего там нельзя найти?
            Хотя я понимаю что повесточку надо отрабатывать, но к обсуждению наличия информации на ютубе его блокировку в РФ вы приплели ну очень уж нарочито.