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

TL;DR В студии Rutube ошибка в шаблоне html-кода. Исправление в конце статьи.
Большинство сервисов не поддерживают автоматическое встраивание плеера rutube по ссылке, как это традиционно происходило с youtube. Поэтому, встраивание такого плеера приходится производить через вставку html-кода в страницу.
Когда мы делаем это для публичных роликов всё работает как надо. Но как только мы попытаемся вставить код сформированный студией Rutube для видео доступного только по ссылке, получим такое окно:
При попытках найти решение, я обнаружил, что этой проблеме не один год:
Как и полагается, решения проблемы в общем доступе не нашлось, так что я пошёл со своим вопросом в техническую поддержку Rutube, где спустя полторы недели получил такой ответ:
Здравствуйте! При встраивании приватного ролика необходимо заменить стандартный id ролика из кода вставки на id с ключом доступа (можно скопировать из url или выделить из ссылки в функции "поделиться"). Должен получиться такой формат: https://rutube.ru/play/embed/idролика/?p=ключ [1]"... Убедитесь, чтобы код в ссылке содержал именно следующую последовательность: play/embed/id ролика с ключом.
«Интересно, а где обычные пользователи должны узнать этот занимательный факт?» -- подумал я и полез автоматизировать формирование этих кодов, раз разработчики платформы решили отложить решение этой проблемы в долгий ящик.
Если вам нужно поправить всего пару роликов, то вот пошаговая инструкция, как сделать это руками. Автоматизацию ищите в конце данной статьи.
Копируем из окошка «Поделиться» ссылку на приватное видео и код для вставки:
Получаем ссылку и код такого вида:
# Ссылка:
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-ролика>. Вместо них будет небольшой хэш, его можно увидеть на скриншоте выше, в ответе технической поддержки.
Берём ключ, вместе с /?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);
Или же воспользоваться простейшим оконным приложением из моего репозитория [2].
Уважаемые читатели, не забрасывайте технический долг на долгие годы. Пишите свои костыли и будьте счастливы. Документируйте найденные проблемы и делитесь ими с сообществом.
Надеюсь, моя статья поможет пользователям отечественной платформы, столкнувшимся с этой проблемой, разобраться, что проблема не в них самих. Спасибо за внимание.
Автор: Carbonium
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/rutube/415665
Ссылки в тексте:
[1] https://rutube.ru/play/embed/idролика/?p=ключ: https://rutube.ru/play/embed/id%D1%80%D0%BE%D0%BB%D0%B8%D0%BA%D0%B0/?p=%D0%BA%D0%BB%D1%8E%D1%87
[2] моего репозитория: https://github.com/tex17/rutube_html_private_generator
[3] Источник: https://habr.com/ru/articles/897538/?utm_source=habrahabr&utm_medium=rss&utm_campaign=897538
Нажмите здесь для печати.