Top.Mail.Ru

Стриминг

Плеер. API-документация для плеера

API позволяет управлять настройками плеера путём использования JavaScript, а также собирать данные о его использовании для дальнейшего анализа. 

Скопируйте iframe из настроек видео/потока в личном кабинете:

  • Для видео: раздел Все видео → Настройки → Экспорт → Код

  • Для потока: раздел Прямые трансляции → Настройки → Ссылки для экспорта → Код

Добавьте параметр id="eplayer" в iframe и вставьте его в код сайта.

Пример iframe кода из личного кабинета с добавлением id="eplayer":

<iframe width="640" height="360" src="https://demopage.edgevideo.ru/videos/79470_YJHUNNocCsrjiCDx" allow="autoplay; 
clipboard-write"
allowfullscreen frameborder="0" id="eplayer">
</iframe>

Где:

  • width — ширина плеера

  • height — высота плеера

  • src — URL загрузки контента (ссылка на видео или live поток)

  • allow="autoplay; clipboard-write" — атрибуты iframe, необходимые для работы некоторых функций плеера: разрешение на автовоспроизведение медиа и возможность копировать текст в буфер обмена (для кнопок Копировать в модальном окне Поделиться видео)

  • allowfullscreen — параметр разрешает полноэкранный режим для iframe

  • frameborder — рамка вокруг iframe, для скрытия необходимо установить значение «0»

  • id — идентификатор плеера. Необходим для дальнейшей инициализации плеера при вызове методов API

После iframe добавьте следующий код для инициализации плеера:

<script type="text/javascript" charset="utf-8" src="https://vplatform.edgevideo.ru/_players/latest/eplayerAPI.js"></script>
<script>
  window.onload = function() {
    let eplayerAPI = new EdgePlayer.eplayerAPI(document.getElementById('eplayer')); 
  };
</script>

Событие window.onload срабатывает, когда загружается вся страница, включая iframe. Далее идёт указание на плеер, к которому будут применяться функции API.

Пример полного кода инициализации плеера и iframe для HTML страницы:

<!DOCTYPE html>
<html>
<head>
  <title>Title</title>
</head>
<body>
  <iframe width="640" height="360" src="https://demopage.edgevideo.ru/videos/79470_YJHUNNocCsrjiCDx" allow="autoplay; 
clipboard-write" allowfullscreen frameborder="0" id="eplayer"></iframe>
  <script type="text/javascript" charset="utf-8" src="https://vplatform.edgevideo.ru/_players/latest/eplayerAPI.js"></script>
  <script>
    window.onload = function() {
      let eplayerAPI = new EdgePlayer.eplayerAPI(document.getElementById('eplayer')); 
    };
  </script>
</body>
</html>

Событие

Возвращает

Описание

ready

 

Плеер готов к воспроизведению

play

 

Воспроизведение запущено 

pause

 

Воспроизведение поставлено на паузу

stop

 

Воспроизведение остановлено (для видео — возврат к началу ролика)

ended

 

Воспроизведение видео завершено

seek

Текущее время в секундах

Видео воспроизводится

resize

Объект с текущими размерами

Размер плеера был изменён

fullscreen

true/false

Плеер был переведён в полноэкранный режим

timeupdate

Объект отсчёта времени

Время в плеере было изменено 

volumeupdate

Текущий уровень громкости

Громкость звука плеера была изменена

error

Объект параметров ошибки

Плеер получил ошибку

progress

Объект параметров состояния буфера

 

levels 

Все имеющиеся качества (массив)

 

tracks

Список всех аудиодорожек (массив)

 
advertisementWasStarted

 

Начало загрузки рекламного ролика

advertisementIsPlaying

Объект параметров рекламы

Начало воспроизведения рекламного ролика

advertisementWasFinished

 

Окончание загрузки или воспроизведения рекламного ролика (если он воспроизводился)

Вызывать методы можно после события ready:

eplayerAPI.on('ready', () => {
  console.log('[Event]', 'ready');
  eplayerAPI.method({name: 'play'});
});

Доступные методы:

Название метода

Тип данных 

Описание

getCurrentTime

Число

Текущее время в секундах

getDuration

Число

Длина видео в секундах 

getVolume

Число от 0 до 100

Громкость

isDvrEnabled

Логический тип

Статус опции DVR:

  • true — DVR включён

  • false — DVR выключен

isPlaying

Логический тип

Текущий статус воспроизведения:

  • true — идёт воспроизведение

  • false — воспроизведение выключено/остановлено/не запущено

getCamerasList

Массив строк (ID камер)

Получить список камер (для Мультикамеры)

getCurrentCamera

Строка

Получить ID активной камеры (для Мультикамеры)

и

Название метода

Тип данных 

Описание

mute

 

Выключает звук при воспроизведении

unmute

 

Включает звук при воспроизведении

pause

 

Ставит воспроизведение на паузу

play

 

Запускает воспроизведение

stop

 

Останавливает воспроизведение текущего видео (возврат к началу ролика)

resize

Объект с размерами плеера

Изменяет границы плеера 

seek

Число

Перемотка воспроизведения (секунды)

seekPercentage

Число от 0 до 100

Перемотка воспроизведения (проценты)

setVolume

Число от 0 до 100

Устанавливает громкость для воспроизведения текущего видео

changeCameraById

Строка

Устанавливает камеру по ID (для Мультикамеры)

setLevel

Строка

Задаёт качество видео (auto, 240, 360 и т.д.)

toggleFullscreen

 

Включает/выключает полноэкранный режим плеера

Шаблон вызова метода:

eplayerAPI.method({name: 'isPlaying', params: {}, callback: (res) => {
  console.log(res);
}});

Где: 

  • name — название метода

  • params — параметры метода

  • callback — метод обратного вызова

Примеры:

<script>
  window.onload = function() {
    let eplayerAPI = new EdgePlayer.eplayerAPI(document.getElementById('eplayer')); 
    let flag = true;

    eplayerAPI.on('ready', () => {
      console.log('[Event]', 'ready');
      eplayerAPI.method({name: 'play'});
    });

    eplayerAPI.on('play', () => {
      if (flag) {
        eplayerAPI.method({name: 'pause'});
        flag = false;
      }
      console.log('[Event]', 'play');
    });

    eplayerAPI.on('pause', () => {
      console.log('[Event]', 'pause');
    });

    // изменяет размеры плеера
    eplayerAPI.method({ 
        name: 'resize', 
        params: { width: 300, height: 200 } 
    });

    // перематывает видео и начинает показ со 2-ой минуты
    eplayerAPI.method({ 
        name: 'seek', 
        params: 120
    });

    // перематывает видео и начинает показ с середины
    eplayerAPI.method({ 
        name: 'seekPercentage', 
        params: 50
    });

    // установить автоматический выбор качества
    eplayerAPI.method({ 
        name: 'setLevel', 
        params: 'auto'
    });

    // установить качество 240
    eplayerAPI.method({ 
        name: 'setLevel', 
        params: '240'
    });
  };
</script>

Чтобы завершить работу с плеером, вызовите метод:

eplayerAPI.destroy();

Мы используем cookie, чтобы сайт стал лучше для вас.