Skip to content

Проигрывание

Проигрывание потоков

Flussonic Media Server позволяет проигрывать потоки по разным протоколам.

На этой странице вы найдете:

Настройки проигрывания находятся в пользовательском интерфейсе Flussonic на вкладке Output в настройках потока.

Проиграть поток можно также в плеере предпросмотра прямо во Flussonic UI.

Кроме того, вы можете управлять проигрыванием потоков с помощью Streaming API.

embed.html

Адрес: http://FLUSSONIC-IP/STREAMNAME/embed.html

В Flussonic Media Server есть специальная страница — embed.html, которая предназначена для вставки видео на сайт или просмотра видео через браузер. Страница автоматически определяет браузер и выбирает поддерживаемый протокол. Для большинства устройств на сегодня — это HLS. Подробнее в статье Вставка видео на сайт (embed.html).

Полная OpenAPI спецификация: Streaming API.

HLS

Адрес для плеера: http://FLUSSONIC-IP/STREAMNAME/index.m3u8

Подробнее в статье Воспроизведение HLS. Для вставки на сайт используйте (embed.html) или любой сторонний плеер. Например, hls.js или clappr.

Полная OpenAPI спецификация: Streaming API.

DASH

Поток доступен по адресу http://FLUSSONIC-IP/STREAMNAME/index.mpd

Подробнее в статье Воспроизведение DASH.

Полная OpenAPI спецификация: Streaming API.

MSE-LD

Адрес для плеера: ws://FLUSSONIC-IP/STREAMNAME/mse_ld

HTML5 (MSE-LD)

Поток, проигрываемый по HTML5, доступен по адресу: http://FLUSSONIC-IP/STREAMNAME/embed.html?realtime=true

Подробнее в статье HTML5 (MSE-LD) воспроизведение с низкой задержкой.

MSS

Поток доступен по адресу: http://FLUSSONIC-IP/STREAMNAME.isml/manifest

Подробнее в статье Воспроизведение MSS.

Полная OpenAPI спецификация: Streaming API.

HTTP MPEG-TS

Поток доступен по адресу: http://FLUSSONIC-IP/STREAMNAME/mpegts

HTTP MPEG-TS с относительным таймшифтом

URL-адрес для проигрывания HTTP MPEG-TS с относительным таймшифтом:

http://FLUSSONIC-IP:PORT/STREAM_NAME/timeshift_rel-3600.ts

В этом примере записанный поток будет проигрываться с задержкой в 1 час (3600 секунд).

HTTP MPEG-TS с абсолютным таймшифтом

URL-адрес для проигрывания HTTP MPEG-TS с абсолютным таймшифтом:

http://FLUSSONIC-IP:PORT/STREAM_NAME/timeshift_abs-1643257722.ts.

Фрагмент архива можно получить на полной скорости, но в режиме стриминга, через промежуток времени равный длине фрагмента.

RTMP

Поток доступен по адресу: rtmp://FLUSSONIC-IP/static/STREAMNAME

Проигрывание DVR по RTMP

Flussonic Media Server может проигрывать архив по протоколу RTMP. Для этого нужно указать следующие аргументы:

var flashvars = {
    streamer:'rtmp://FLUSSONIC-IP/rtmp',
    file: 'ort?from=1398267588&to=1398268588',
    'rtmp.tunneling':false,
    autostart: true
  };
  swfobject.embedSWF('/flu/jwplayer.swf',element,'640','480','10.3','false', flashvars,
   {allowfullscreen:'true',allowscriptaccess:'always'},
   {id:'jwplayer',name:'jwplayer'}
  );

Указывается имя потока, но добавлятся query string с обязательным параметром from и необязательным параметром to.

Также можно указать параметр speed=2, speed=4 или speed=8, и тогда Flussonic Media Server будет проигрывать архив без звука в ускоренном режиме.

RTSP

Поток доступен по адресу: rtsp://FLUSSONIC-IP/STREAMNAME

Если у потока есть несколько аудио- и видеодорожек, то по умолчанию Flussonic выбирает первую дорожку (a1v1).

Можно указать, какие именно дорожки следует отдавать. Для этого укажите номера дорожек, добавив параметр tracks к URL потока.

Примеры:

  • rtsp://FLUSSONIC-IP/STREAMNAME?tracks=a2v1

  • rtsp://FLUSSONIC-IP/STREAMNAME?tracks=a2v1&from=1 — DVR.

  • rtsp://FLUSSONIC-IP/vod/file?tracks=a2v1 — VOD.

  • rtsp://FLUSSONIC-IP/STREAMNAME2 = rtsp://FLUSSONIC-IP/STREAMNAME1?tracks=v1a1

Можно выбрать одну дорожку:

  • rtsp://FLUSSONIC-IP/STREAMNAME?tracks=a1 — выбрать только аудио.

  • rtsp://FLUSSONIC-IP/STREAMNAME?tracks=v1 — выбрать только видео.

Если указать больше двух дорожек или указать дорожку в неверном формате, то будет использоваться параметр по умолчанию (a1v1).

Проигрывание DVR по RTSP

Flussonic Media Server может проигрывать архив по протоколу RTSP. Для этого нужно запросить следующий URL:

rtsp://FLUSSONIC-IP:PORT/STREAM_NAME?from=1398267588&to=1398268588

Указывается имя потока, но добавляется query string с обязательным параметром from и необязательным параметром to.

WebRTC

Поток доступен по адресу:

  • ws://FLUSSONIC-IP/STREAM_NAME/webrtc

  • wss://FLUSSONIC-IP/STREAM_NAME/webrtc?transport=tcp — передавать WebRTC поток по TCP.

Подробнее о WebRTC плеере и организации проигрывания в статье WebRTC проигрывание.

Полная OpenAPI спецификация: Streaming API.

SHOUTcast

Flussonic Media Server умеет отдавать SHOUTcast или ICEcast радиопоток.

Поток доступен по адресу: http://FLUSSONIC-IP/STREAMNAME/shoutcast

The complete OpenAPI specification: Streaming API.

SRT

Flussonic поддерживает проигрывание SRT-потоков.

Протокол SRT имеет несколько режимов работы: Caller (Инициатор), Listener (Слушатель) и Rendezvous. В парадигме Flussonic проигрывание можно соотнести с режимом Listener, поскольку Flussonic находится в ожидании соединения и при удачном его установлении, начинает взаимодействие с Инициатором (Caller).

Настройка SRT-порта обычно производится для одного потока, т. е. один SRT-поток на один порт. Кроме того, Flussonic предоставляет Вам способ настроить один SRT-порт для нескольких потоков. Например, если вы используете протокол SRT для ретрансляции.

Подробнее о воспроизведении в SRT см. в главе Воспроизведение SRT.

Получение данных о проигрываемом потоке

Вы можете отправлять запросы API для получения информации о проигрываемом потоке. Полученные данные можно интегрировать в любую внешнюю систему, например, сайт, мониторинг, плеер или мобильное приложение.

Адрес для получения технической информации о проигрываемом потоке:

http://FLUSSONIC-IP/STREAM_NAME/media_info.json

Адрес для получения информации о статусе записи архива DVR потока:

http://FLUSSONIC-IP/STREAM_NAME/recording_status.json

Плеер предпросмотра во Flussonic UI

Вы можете проиграть поток прямо во Flussonic UI с помощью плеера предпросмотра. Этот плеер позволяет проигрывать потоки по протоколу HLS, MSE-LD или DASH. Кроме того, в нем можно проиграть архив DVR, если DVR включен для потока. Плеер предпросмотра использует специальную страницу embed.html (подробнее см. Вставка видео на сайт) с соответствующими параметрами.

Чтобы открыть плеер предпросмотра, перейдите в раздел Media > Streams и нажмите кнопку Play рядом с нужным потоком.

Кнопка плеера предпросмотра

В открывшемся окне выберите нужную вкладку и начните проигрывание. Доступны следующие вкладки:

  • HLS — для проигрывания по HLS. Плеер будет использовать страницу embed.html.
  • MSE — для проигрывания по HTML (MSE-LD) с низкой задержкой. Плеер будет использовать страницу embed.html?realtime=true.
  • DASH — для проигрывания по DASH. Плеер будет использовать страницу embed.html?proto=dash.
  • DVR — для проигрывания архива DVR (если DVR включен для потока). Плеер будет использовать страницу embed.html?dvr=true. Подробнее о настройках DVR плеера читайте в главе Просмотр записей архива из административного веб-интерфейса.

Окно плеера предпросмотра

Внизу страницы плеера предпросмотра отображается HTML код для вставки соответствующего плеера на веб-страницу.

Чтобы закрыть окно плеера предпросмотра, нажмите Esc.

Как настроить протоколы для проигрывания потока

Приведенные выше URL-адреса можно найти в пользовательском интерфейсе Flussonic на вкладке Output в настройках потока. Вы можете скопировать тот или иной URL в буфер обмена, нажав кнопку копирования в конце строки соответствующего URL-адреса.

По умолчанию разрешено проигрывание по всем протоколам, но вы можете запретить проигрывание по протоколам, которые укажете.

Начиная с версии 20.02, вы можете использовать более короткую нотацию для указания выходных протоколов для потока. Пользовательский интерфейс поддерживает новую нотацию, а в файле можно перечислить все протоколы с помощью опции protocol. Вы также можете разрешить или запретить запросы API, используя в этой опции параметр api.

Прежняя нотация тоже поддерживается.

Пример

Например, для потока channel_01 вы хотите разрешить проигрывание по всем протоколам, кроме MPEG-TS и HLS.

output protocols

В файле конфигурации эти настройки выглядят следующим образом:

stream channel_01 {
  protocols -mpegts -hls;
}

Для потока channel_02 вы хотите разрешить только проигрывание по DASH и запросы API, при этом запретив проигрывание по всем остальным протоколам:

output protocols

В файле конфигурации эти настройки выглядят следующим образом:

stream channel_02 {
  protocols dash api;
}