Документация Flussonic Media Server

Contents

Воспроизведение HLS

Flussonic Media Server поддерживает раздачу видео по протоколу HLS. Многие из доступных возможностей нестандартны для HLS, но мы поддерживаем их для вашего удобства.

Поддерживаемые кодеки: H264, H265, MPEG2 video, AAC, MP3, MPEG2 audio, AC-3.

Flussonic Media Server позволяет получать по HLS прямой эфир, видео по запросу, видео из архива (catchup и timeshift).

Содержание:

Простое воспроизведение HLS

Если у вас есть простой live поток или файл (одно видео, один звук), то URL для воспроизведения через HLS очень простой:

http://FLUSSONIC-IP/STREAMNAME/index.m3u8

где FLUSSONIC-IP — это пример адреса + порта вашего Flussonic Media Server.

Flussonic Media Server также принимает playlist.m3u8 в конце URL для обратной совместимости с другими серверами.

Когда вы начинаете работать с мультиязычными или мультибитрейтными контентом, все становится сложнее.

Мультиязычный HLS

Если вы хотите воспроизвести ваш мультиязычный поток на iPhone, вам нужно использовать тот же http://192.168.2.3:8080/STREAMNAME/index.m3u8

Но если вы хотите посмотреть мультиязычный поток используя VLC или приставку, нужно включать video.m3u8.

URL для плеера: http://flussonic-ip/STREAMNAME/video.m3u8

Это связано с тем, что, согласно требованиям Apple HLS, для каждого отдельного языка нужно указывать отдельный плейлист с audio only вариантом. В MPEG-TS другой механизм: рядом с видео укладываются все аудиодорожки, и плеер сам выбирает, что будет проигрывать. Чтобы видео можно было посмотреть на iPhone, оно должно соответствовать требованиям Apple. Но VLC и приставки, в нарушение стандарта HLS, ожидают старый вариант MPEG-TS, преобразованный в HLS. Поэтому нужно включать video.m3u8.

Добавление «Audio only» для Apple

Apple требует, чтобы у всех ваших потоков был вариант без видео, только звук.

Они считают, что если пользователь смотрит видео по 3G и, оказавшись в зоне неуверенного приема, лучше у него будет только звук, чем буферизация.

Вы можете включить эту опцию в Flussonic Media Server следующим образом:

stream ort {
  url udp://239.0.0.1:1234;
  add_audio_only;
}

Замечание. Такая настройка может сделать ваш index.m3u8 адрес невоспроизводимым в VLC или на приставке. В этом случае используйте video.m3u8 (см. выше).

Отдельные битрейты для приставок

Когда у вас есть мультибитрейтный мультиязычный контент и вы хотите проиграть его на приставке, которая не поддерживает мультибитрейтный HLS плейлисты, вы можете запросить с Flussonic Media Server отдельные плейлисты с одним видео и всеми звуковыми дорожками, как с опцией mono:

http://flussonic-ip/STREAMNAME/video1.m3u8

Этот плейлист не мультибитрейтный, в нем URL до сегментов, в которых первая видео дорожка и все доступные звуковые дорожки.

Если вы хотите доставлять мультиязычные мультибитрейтные потоки на приставки, не понимающие стандарт Apple для мультиязычности, используйте video.m3u8:

http://flussonic-ip/STREAMNAME/video.m3u8

Это мультибитрейтный плейлист, который отдает список плейлистов с разными качествами: video1.m3u8, video2.m3u8 и т.д.

DVR catchup playback

Когда ваш поток уже записан на сервере нашим DVR, вы можете воспроизвести видео через HLS, используя время начала и конца передачи (например, из EPG).

URL будет:

http://flussonic-ip/STREAMNAME/archive-1508403742-3600.m3u8

Этот плейлист будет так называемый variant, если в потоке будет больше одной звуковой дорожки или больше одного битрейта. Он будет отдавать список сегментов начиная с UTC 1362504585 ( 2013, Март, 5, 17:29:45 GMT) и один час вперед.

URL mono даст список сегментов, содержащих все дорожки, в MPEG-TS:

http://flussonic-ip/STREAMNAME/mono-1362504585-3600.m3u8

Более конкретный videoN плейлист даст список сегментов с N видео дорожкой и всеми звуковыми дорожками:

http://FLUSSONIC-IP/STREAMNAME/video1-1362504585-3600.m3u8

и variant видео плейлист со списком videoN плейлистов:

http://FLUSSONIC-IP/STREAMNAME/video-1362504585-3600.m3u8

Перемотка плейлиста

Есть специальный плейлист "rewind-N.m3u8" с большим «скользящим» окном, позволяющий перематывать и ставить на паузу HLS потоки на долгие часы.

http://FLUSSONIC-IP/STREAMNAME/rewind-7200.m3u8

7200 — длина HLS плейлиста в секундах. Это означает, что ваши клиенты могут поставить эфир на паузу на 2 часа или перемотать на начало футбольного матча без обращения по специальными архивным ссылкам.

DVR timeshift playback

Если у вас есть поток, записываемый на диск, но вы не настроили отложенный поток, вы можете проиграть видео со сдвигом по времени с помощью правильно построенного HLS адреса.

Cписок URL для относительного таймшифта:

/timeshift_rel-3600.m3u8
/mono-timeshift_rel-3600.m3u8
/video-timeshift_rel-3600.m3u8
/video1-timeshift_rel-3600.m3u8

и для абсолютного таймшифта:

/timeshift_abs-1508403742.m3u8
/mono-timeshift_abs-1508403742.m3u8
/video-timeshift_abs-1508403742.m3u8
/video1-timeshift_abs-1508403742.m3u8

Воспроизведение отдельных дорожек

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

Примеры:

  • http://flussonic-ip/STREAMNAME/index.m3u8?filter=tracks:v2a1 — выбрать первую аудио- и вторую видеодорожки.
  • http://flussonic-ip/STREAMNAME/index.m3u8?filter=tracks:v1 — выбрать только видео.
  • http://flussonic-ip/STREAMNAME/archive-1362504585-3600.m3u8?filter=tracks:v2a1 — проигрывание отрывка длиной 3600 секунд из DVR архива, начиная со времени UTC 1362504585.