СВОДКА ИЗМЕНЕНИЯ
RUTUBE- Платформа
- RUTUBE
- Источник
- RUTUBE embed and player API FAQ
- Где опубликовано
- Rutube
- Тип события
- availability_incident
- Подтверждение
- подтверждено
- Тип источника
- Официальный
- Доверие
- высокий
- Уверенность
- 95%
- В источнике
- дата в источнике не указана
- Найдено
- 10 октября 2026, 09:23 МСК
- Важность
- СРЕДНЯЯ
Как встраивать видео RUTUBE и управлять плеером: полная справка
Официальная справка RUTUBE описывает встраивание видео, Shorts и трансляций на сторонние сайты: код плеера, приватные ссылки с ключом доступа, параметры iframe, команды postMessage и события для отслеживания воспроизведения.
ФРАГМЕНТ ИЗ ИСТОЧНИКА
FAQ: Встраивание видео с RUTUBE Содержание Что такое встраивание (embed) видео? Какие видео и трансляции можно эмбедировать? Как эмбедировать видео с RUTUBE? Какой минимальный размер встраиваемого плеера RUTUBE?
ЧТО ИЗМЕНИЛОСЬ
Коротко: о чём справка
Официальный FAQ RUTUBE описывает, как встроить плеер с видео, Shorts или трансляцией на сторонний сайт, как задать размер и цвет плеера, моменты начала и конца воспроизведения, а также как встроить контент с доступом «Только по ссылке». Для разработчиков в справке есть расширенные параметры iframe, команды управления плеером через postMessage() и события для отслеживания проигрывания.
Что такое встраивание видео
Эмбед (встраивание) — функция, которая позволяет разместить плеер RUTUBE с конкретным видео на сторонней вебстранице.
Какие видео и трансляции можно встроить
На данный момент доступно встраивание следующих типов контента:
горизонтальные видео с доступом «Для всех»;
горизонтальные видео с доступом «Только по ссылке»;
короткие вертикальные ролики Shorts в формате горизонтального плеера с доступом «Для всех»;
короткие вертикальные ролики Shorts в формате горизонтального плеера с доступом «Только по ссылке»;
трансляции с доступом «Для всех»;
трансляции с доступом «Только по ссылке».
Как встроить видео или трансляцию
На сайте RUTUBE
1. Найдите видео или трансляцию на сайте RUTUBE и нажмите «Поделиться» → «Код вставки плеера».
2. Скопируйте код: кликните по коду или по кнопке «Скопировать». Можно также нажать на видео в плеере правой кнопкой мыши → «Скопировать код для вставки плеера».
3. Вставьте код вставки плеера в код страницы, на которую хотите встроить плеер.
В мобильной вебверсии
1. Откройте видео или трансляцию и в правом верхнем углу плеера нажмите «Настройки» → «Ещё» → «Скопировать код для вставки плеера».
2. Вставьте код вставки плеера в код страницы.
Минимальный размер плеера
Минимальный поддерживаемый размер встраиваемого плеера RUTUBE — 320 × 180 px. Можно задать и другие значения, но корректное отображение элементов плеера не гарантируется: возможны наложения контролов друг на друга и потеря части функциональности.
Через Студию RUTUBE
Видео находятся в разделе «Видео» (https://studio.rutube.ru/videos), трансляции — в разделе «Трансляции» (https://studio.rutube.ru/streams).
1. Нажмите на «три точки» и выберите «Поделиться».
2. Выберите «Код вставки плеера» и скопируйте код кнопкой «Скопировать».
3. Вставьте код вставки плеера в код страницы.
Как встроить Shorts
Ролики Shorts можно встраивать только в формате горизонтального плеера:
1. Откройте нужный ролик.
2. В адресной строке замените слово «shorts» на «video». Например (ссылки приведены как в справке):
до: https://rutube.ru/shorts/a930fc3d073038eaf4fdc962e0e6b5cb/
после: https://rutube.ru/video/ a930fc3d073038eaf4fdc962e0e6b5cb/
3. Нажмите Enter или перезагрузите страницу — ролик откроется в горизонтальном плеере.
4. Скопируйте код вставки плеера: «Поделиться» → «Код вставки плеера».
5. Вставьте код вставки плеера в код страницы.
Дополнительные возможности: настройки до копирования кода
Чтобы изменить размер окна плеера, цвет элементов управления, моменты начала и конца воспроизведения, добавьте дополнительные параметры через настройки кода вставки. Все изменения отобразятся в коде для вставки, поэтому копируйте его уже после настройки.
1. Размер окна плеера. Замените размер в одном из полей блока «Размеры, px» на нужный; второе поле подстроится автоматически, чтобы сохранить пропорции оригинального плеера.
2. Цвет элементов плеера. Нажмите «Изменить» в блоке «Основной цвет» и выберите цвет из палитры.
3. Начало и конец воспроизведения. Поставьте галочку в чекбоксе «Начало» и/или «Конец» и добавьте таймкод. Выбор часов доступен, только если видео длится больше 59 минут 59 секунд; значение 99 минут автоматически пересчитывается в часы и остаток в минутах, секунды аналогично пересчитываются в минуты.
Дополнительные параметры прямо в коде вставки
Стандартный код вставки без дополнительных настроек для видео по ссылке https://rutube.ru/play/embed/7716bd3e665725c3c008ae7ab4ff02e2:
```html
```
Код того же видео с параметрами — окно 864 × 486 пикселей, красный цвет интерфейса, начало воспроизведения с 5й минуты и окончание на 8й минуте, с отображением названия видео и имени автора канала (пример приведён в справке без изменений):
«Тотальный футбол»: топовый дебют Миранчука, как поменять наш футбол – реформы Гогниева от Тотальный футбол на RUTUBE
Разбор параметров и фрагментов кода:
width="864" height="486" — ширина и высота окна плеера;
autostartmute=true/false — параметр, определяющий старт видео в эмбеде без звука или со звуком;
skinColor=e53935 — основной цвет интерфейса (в примере красный);
t=300 — время в секундах, с которого начнётся воспроизведение (300 секунд = 5 минут);
stopTime=480 — время в секундах, на котором воспроизведение завершится (480 секунд = 8 минут);
frameborder — рамка по периметру окна плеера: 1 — включена, 0 — выключена (по умолчанию);
allow="clipboardwrite; autoplay" — управление буфером копирования и автоматическим запуском видео, если выполнены все условия автозапуска;
webkitAllowFullScreen mozallowfullscreen — запуск плеера в полноэкранном режиме на устаревших версиях браузеров;
allowFullScreen — полноэкранный просмотр из эмбеда; если удалить фрагмент, функция будет недоступна;
… — фрагмент, отвечающий за отображение названия видео; содержит ссылку на встраиваемое видео;
Тотальный футбол — фрагмент, отвечающий за отображение автора канала, с которого взято видео;
RUTUBE — фрагмент, отображающий ссылку на видеохостинг и название RUTUBE; добавляется при проставленной галочке «Показывать название видео»;
q (quality) — начальное качество видео. Доступные значения: 144, 240, 360, 480, 720, 1080, 1440, 2160, auto. Если у пользователя сохранено качество от предыдущих просмотров, при инициализации будет выбрано именно оно;
autoplay={true|false} — переопределяет значение параметра autostart, настроенного на сервере.
Как встроить приватное видео или трансляцию «Только по ссылке»
Для встраивания контента, доступного только по прямой ссылке, нужен ключ доступа — его копируют из прямой ссылки.
Шаг 1. Откройте видео с ограниченным доступом в Студии RUTUBE и скопируйте его ссылку. Пример прямой ссылки с ID и ключом доступа:
```text
Шаг 2. Откройте видео по скопированной ссылке и нажмите «Поделиться» → «Код для вставки». Пример кода вставки с ID видео, но без ключа доступа:
Шаг 3. Скопируйте из ссылки в браузере ключ доступа — всё после последнего «/» (все ключи видео начинаются с «/ ?p=») — и добавьте его в код вставки через слэш «/» сразу после ID видео. Пример кода вставки с ID и ключом доступа:
Если добавить на страницу код вставки без ключа доступа, видео не будет воспроизводиться. Для приватной трансляции, доступной только по прямой ссылке, шаги те же.
Если возникли сложности, напишите на help@rutube.ru или в бот поддержки https://max.ru/rutubesupportbot.
Расширенные параметры: встраивание и управление плеером
Настройка воспроизведения
Чтобы встроить плеер RUTUBE на HTMLстраницу, добавьте тег iframe вида:
<iframe width="{width}" height="{height}" src="https://rutube.ru/play/embed/{idvideoparаms}"
frameBorder="0" allow="clipboardwrite; autoplay" webkitAllowFullScreen mozallowfullscreen allowFullScreen
{width}, {height} — ширина и высота встраиваемого плеера; можно задать самостоятельно, но для правильного отображения лучше сохранять стандартные пропорции;
{idvideoparams} — внутренний ID видео на RUTUBE, к которому добавляются дополнительные параметры в формате:
{idvideoparams} : {idvideo} [? {параметр} [& {параметр} [& {параметр} ]]]
Возможны три параметра:
t — момент начала воспроизведения видео в секундах, например t=9876;
skinColor — цвет элементов управления плеера; задаётся 16ричным кодом с информацией об интенсивности красного, зелёного и синего цветов, например skinColor=7cb342;
getPlayOptions — параметр, вызывающий событие player:playOptionsLoaded. После него перечисляются атрибуты: например, getPlayOptions=pgrating,isadult,islicensed,duration,title — тогда data события содержит полную информацию об атрибутах верхнего уровня pgrating, isadult, islicensed, duration, title.
В параметре можно указать только атрибуты верхнего уровня; если странице нужен вложенный атрибут, укажите его «родителя» верхнего уровня. Полный перечень доступных атрибутов — https://rutube.ru/api/play/options/{idvideo} (подставьте ID конкретного видео).
Пример встраивания плеера с параметрами:
<iframe width ="1066" height ="600" frameBorder="0" allow="clipboardwrite; autoplay"
src="https://rutube.ru/play/embed/7716bd3e665725c3c008ae7ab4ff02e2 ?getPlayOptions=pgrating,isadult&skinColor=7cb342&t=6040 "
webkitAllowFullScreen mozallowfullscreen allowFullScreen
Автоподстройка размера для нестандартных окон и мобильных устройств
Чтобы размер окна плеера подстраивался под размер страницы, оберните тег iframe в тег div:
<iframe width="100%" height="100%" src="https://rutube.ru/play/embed/{idvideoparams}"
frameBorder="0" allow="clipboardwrite" allowFullScreen
В изменённом коде параметры {width} и {height} «переезжают» из тега iframe в тег div. Пример встраивания с параметрами и автоподстройкой:
<iframe width="100%" height="100%" src="https://rutube.ru/play/embed/7716bd3e665725c3c008ae7ab4ff02e2?t=6040"
frameBorder="0" allow="clipboardwrite" webkitAllowFullScreen mozallowfullscreen allowFullScreen
HTMLфайл с примером поведения окна плеера с автоподстройкой и без неё — Example01Playerdiv.html. Чтобы проверить работу, меняйте размер окна браузера во время воспроизведения видео.
Управление плеером
Плеер принимает и исполняет команды, которые передаются ему из JavaScript через механизм postMessage():
function doCommand() {
var player = document.getElementById('myplayer');
player.contentWindow.postMessage(JSON.stringify( {CommandJSON} ), '');
}
...
'myplayer' — имя тега , содержащего плеер;
{idvideoparams} — внутренний ID видео на RUTUBE с дополнительными параметрами;
{CommandJSON} — команда и её параметры в формате JSON.
Стандартный формат команды CommandJSON:
```javascript
doCommand(
{type:typeValue, data:dataValue}
);
где {type} — тип команды, {data} — параметры команды в формате JSON. Примеры функций управления приведены в справке без изменений:
function dopause() { doCommand( {type:'player:pause', data:{} } ); }
function dochangeVideo() { doCommand( {type:'player:changeVideo', data:{id:'aaf9fbe99fd8400d6096ef5cc1af404c'}} ); }
function dosetSkinColor() { doCommand( {type:'player:setSkinColor', data: color: Color value is invalid } ); }
function doVolumeDown() { doCommand( {type:'player:setVolume', data: {change: 0.1} } ); }
Для корректного воспроизведения команды player:play, player:pause и player:stop стоит отправлять после готовности плеера — события player:ready.
Основные команды:
// player:play — начать воспроизведение видео
{
type: 'player:play',
data: {}
// player:pause — поставить видео на паузу
type: 'player:pause',
// player:stop — закончить цикл воспроизведения (сброс буфера видео и рекламы)
type: 'player:stop',
Остановка видео с прекращением загрузки и её отмена описаны в справке как пара команд: player:suspend (небезопасный метод) используется вместе с player:wakeup, который возобновляет воспроизведение и восстановление загрузки. В примерах кода справки имена этих команд приведены как player:susupend — сохраняем написание первоисточника.
// player:setCurrentTime — установить текущее время воспроизведения
type: 'player:setCurrentTime',
data: {
time: 20 // время в секундах
// player:relativelySeek — перемотать видео на N секунд вперёд (без знака) или назад (с минусом)
type: 'player:relativelySeek',
time: 20 // time:20 — вперёд, time:20 — назад
// player:changeVideo — загрузить в плеер другое видео
// для quality доступны значения 144, 240, 360, 480, 720, 1080, 1440, 2160, auto
type: 'player:changeVideo',
id: 'xyz123',
params: {
quality:'1080'
// player:changeQuality — изменить текущее качество видео;
// отправлять после загрузки списка качеств (событие player:qualityList)
type:'player:changeQuality',
data:
// player:setSkinColor — изменить цветовую схему
// цвет в RGB, HEX (без решётки «»)
type: 'player:setSkinColor',
color: '39a939'
Управление звуком:
// player:mute — отключить звук
type: 'player:mute'
// player:unMute — включить звук
type: 'player:unMute'
// player:setVolume — установить уровень громкости (значение от 0 до 1)
type: 'player:setVolume',
volume: 0.20
// player:setVolume — изменить громкость: минус — тише, плюс — громче
change: 0.20
HTMLфайл с примером управления плеером — Example02PlayerpostMessage.html.
События плеера и отслеживание статуса проигрывания
Пример подписки на сообщения от плеера:
window.addEventListener('message', function (event) {
var message = JSON.parse(event.data);
console.log(message.type); // some type
switch (message.type) {
case 'player:changeState':
console.log(message.data.state); // Текущее состояние плеера
break;
};
});
Шаблон приходящих сообщений:
```json
"type": 'player:type',
"data": 'some data'
Перечень типов сообщений type и структура значений data:
player:ready — плеер загружен и готов к воспроизведению; отправляется один раз, при вставке плеера на страницу.
"clientId": ,
"videoId": ,
"playerId":
player:init — отправляется после загрузки данных для воспроизведения и выбора типа провайдера; идентификатор плеера playerId здесь всегда один и тот же.
"playerId":"videoframe"
player:playOptionLoaded — отправляется при наличии в query параметра getPlayOptions с перечислением ключей из запроса /api/play/options/57e1cb24939d657284dc2900deb5949a/. Например: ?getPlayOptions=id,thumbnailurl.
"id": 19749029,
"thumbnailurl": " ",
"playerId": "videoframe"
player:changeState — изменилось состояние проигрывания: playing — началось воспроизведение видео, paused — видео на паузе, stopped — конец воспроизведения. isLicensed — у автора видео статус лицензионного автора.
"state": ,
"isLicensed": ,
player:rollState — факт и статус проигрывания рекламы в плеере: type — preroll, midroll, postroll; state — старт или окончание рекламы play / complete.
"type":"preroll5",
"state":"complete",
player:durationChange — обновление или уточнение длительности видео в секундах; событие также отправляется при изменении длительности, например при стриминге.
"duration": ,
player:adRequest — отправляется после загрузки данных по рекламе (did — fingerprint id, axurl — URL для получения рекламы, e — название события для логирования).
"aformat":"preroll4",
"did":"5c6182bc6da219ea5c71003b7055cd3b",
"videoId": "57e1cb24939d657284dc2900deb5949a",
"e":"arequest",
"axurl":" ",
player:adStart — отправляется после старта рекламы; структура данных та же, значение e — astart.
player:adEnd — отправляется после успешного завершения рекламы; структура та же, значение e — aend.
player:currentTime — текущий момент воспроизведения видео в секундах.
"time": ,
player:buffering — диапазоны буферизации.
"range": [
{"start":0,"end":0},
{"start": ,"end": }
],
player:volumeChange — смена уровня громкости: volume — от 0 до 1, muted — выключен ли звук.
"volume": ,
"muted": ,
player:changeFullscreen — переход в полноэкранный режим и выход из него.
"isFullscreen": ,
player:error — ошибка во время проигрывания.
"code": ,
"text": ,
player:playComplete — окончание воспроизведения видео и рекламы, переход плеера на финальный экран.
player:playStart — первый старт проигрывания. В data передаются: идентификатор видео (videoid), автокачество (qa), отображение плеера default/cinema (sm), yclid, viewid (REQUESTID из метаданных запроса либо новый UUID4, если его нет в запросе), идентификатор пользователя user (если он залогинен), cid, pid, страница проигрывания (referer), уровень звука (v), ширина и высота активного уровня качества (qw, qh), тип провайдера (tr) и playerId.
"videoid":"e30edf24ea097b45d0d469fac449478c",
"qa":true,
"sm":"default",
"yclid":"1715854197193969726",
"viewid":"339f02f2c72f0d0f2676c1ec6c069d3b",
"user":null,
"cid":"d65fba3c75a7450db2734e86b0569791",
"pid":"c97972a08269402a82e30192366dc98b",
"referer":"http%3A%2F%2Flocalhost%3A8080",
"v":100,
"qw":1920,
"qh":1080,
"tr":"hls",
player:currentQuality — отправляется при изменении текущего уровня качества: height — высота для текущего качества, quality — текущее качество, isAutoQuality — выбрано ли качество автоматически.
"quality":
{"height":1080,
"quality":"1080",
"isAutoQuality":false
},
В справке также приведён сокращённый вариант структуры этого события:
"quality":{
"height":
player:qualityList — отправляется после загрузки уровней качества видео; в list — перечень доступных значений, например [232,360,480,720,1080].
"list":[ ,..., ],
player:showControls — позволяет отображать все контролы в плеере.
type:'player:showControls'
player:hideControls — позволяет скрывать все контролы в плеере.
type:'player:hideControls'
player:playOptionsLoaded — передаёт атрибуты видео, перечисленные в параметре getPlayOptions, и ID плеера.
Обозначения в структурах данных:
— текстовая строка в кавычках;
— последовательность цифр / число в кавычках;
— число;
— логическое значение true или false;
— атрибуты видео, доступные также по адресу https://rutube.ru/api/play/options/{idvideo}, но только те, которые перечислены в параметре getPlayOptions; частично описаны в разделе «Получение атрибутов видео» справки.
Пример кода, управляющего плеером с учётом его статуса, — файл Example03Playerevents.html. В примере:
видео начинает воспроизводиться со 100й секунды;
по достижении 4х минут воспроизведение продолжается с начала 2й минуты и далее по циклу;
если принудительно перемотать проигрывание дальше 4:10, видео продолжает воспроизводиться до конца;
по достижении конца видео проигрывание переходит к началу 2й минуты и приостанавливается;
под видео отображается информация, полученная из события playOptionsLoaded.
Источник
Официальный FAQ RUTUBE о встраивании видео: https://rutube.ru/info/embed/
ПОЧЕМУ ВАЖНО
Полезно: документация или схема помогают быстрее заметить новые возможности и уточнения API.
Риск: изменение контракта может потребовать правок в интеграции, генерации типов или пользовательских сценариях.
ЧТО ДЕЛАТЬ
- Проверьте совместимость интеграции с новым поведением или контрактом.
- Обновите типы, SDK-обертки или внутренние runbook'и, если изменение затрагивает ваш сценарий.
- Запустите регрессионные тесты на затронутых API, webhook или auth-сценариях.
ПОДТВЕРЖДЕНИЕ ИЗ ИСТОЧНИКА
Источник: RUTUBE embed and player API FAQ.
RUTUBE embed and player API FAQ · официальный · подтверждение ↗