Чиним видеоролики с доступом по ссылке на RUTUBE

в 11:16, , рубрики: Rutube, rutube studio

Однажды мне упала задача от заказчика: перенести "пару десятков" видеороликов внутри закрытой учебной платформы с YouTube на RuTube. Примерно 100 роликов спустя я обнаружил, что все ролики с доступом по ссылке недоступны к просмотру...

Чиним видеоролики с доступом по ссылке на RUTUBE - 1

Как обстоят дела

TL;DR В студии Rutube ошибка в шаблоне html-кода. Исправление в конце статьи.

Большинство сервисов не поддерживают автоматическое встраивание плеера rutube по ссылке, как это традиционно происходило с youtube. Поэтому, встраивание такого плеера приходится производить через вставку html-кода в страницу.

Когда мы делаем это для публичных роликов всё работает как надо. Но как только мы попытаемся вставить код сформированный студией Rutube для видео доступного только по ссылке, получим такое окно:

Суть описываемой проблемы

Суть описываемой проблемы

При попытках найти решение, я обнаружил, что этой проблеме не один год:

Девушка столкнулась с аналогичной проблемой больше двух лет назад

Девушка столкнулась с аналогичной проблемой больше двух лет назад

Ответ технической поддержки Rutube

Как и полагается, решения проблемы в общем доступе не нашлось, так что я пошёл со своим вопросом в техническую поддержку Rutube, где спустя полторы недели получил такой ответ:

Здравствуйте! При встраивании приватного ролика необходимо заменить стандартный id ролика из кода вставки на id с ключом доступа (можно скопировать из url или выделить из ссылки в функции "поделиться"). Должен получиться такой формат: https://rutube.ru/play/embed/idролика/?p=ключ"... Убедитесь, чтобы код в ссылке содержал именно следующую последовательность: play/embed/id ролика с ключом.

Скриншот присланный сотрудником технической поддержки

Скриншот присланный сотрудником технической поддержки

«Интересно, а где обычные пользователи должны узнать этот занимательный факт?» -- подумал я и полез автоматизировать формирование этих кодов, раз разработчики платформы решили отложить решение этой проблемы в долгий ящик.

Если вам нужно поправить всего пару роликов, то вот пошаговая инструкция, как сделать это руками. Автоматизацию ищите в конце данной статьи.

Как сделать это вручную

  1. Копируем из окошка «Поделиться» ссылку на приватное видео и код для вставки:

    Получение ссылки в «студии Rutube»
    Получение ссылки в «студии Rutube»
    Получение html-кода в «студии Rutube»

    Получение html-кода в «студии Rutube»
  2. Получаем ссылку и код такого вида:

      # Ссылка:
    https://rutube.ru/video/private/<id-ролика>/?p=<key-ролика>
    
      # Код вставки плеера:
    <iframe width="720" height="405" 
    src="https://rutube.ru/play/embed/<id-ролика>" # внимание на эту строку
    frameBorder="0" 
    allow="clipboard-write; autoplay" 
    webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>

    Я заменил на плейс-холдеры лишь <id-ролика> и <key-ролика>. Вместо них будет небольшой хэш, его можно увидеть на скриншоте выше, в ответе технической поддержки.

  3. Берём ключ, вместе с /?p= и добавляем к содержимому ссылки, внутри кода:

    <iframe width="720" height="405" 
    src="https://rutube.ru/play/embed/<id-ролика>/?p=<key-ролика>" # внимание на эту строку
    frameBorder="0" 
    allow="clipboard-write; autoplay" 
    webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>

    Вы не можете просто скопировать ссылку, т.к. у них разные пути: .ru/video/private/ и .ru/play/embed/

Автоматизируем процесс

Вы можете просто использовать этот фрагмент кода на C# в любом онлайн компиляторе или адаптировать его под себя:

string srcUrl, htmlOut;
string[] idAndKey;
srcUrl = Console.ReadLine();
idAndKey = srcUrl.Split('/');
htmlOut = $"<iframe width="720" height="405" src="https://rutube.ru/play/embed/{idAndKey[5]}/{idAndKey[6]}" " +
  $"frameBorder="0" allow="clipboard-write; autoplay" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>";
Console.WriteLine(htmlOut);

Или же воспользоваться простейшим оконным приложением из моего репозитория.

Итог

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

Надеюсь, моя статья поможет пользователям отечественной платформы, столкнувшимся с этой проблемой, разобраться, что проблема не в них самих. Спасибо за внимание.

Автор: Carbonium

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js