Skip to content

Серверные плейлисты

Серверные списки воспроизведения создаются провайдером на сервере Flussonic. Они позволяют запускать ваш собственный телеканал, где вы выбираете, какие файлы и потоки транслировать.

Содержание:

Применение серверных плейлистов

Серверные плейлисты разумно использовать для:

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

Создание серверных плейлистов

Приведем здесь обзорно процесс создания плейлиста в Flussonic Media Server.

  1. Поместите видео файлы на сервер. В данном примере, они находятся в /var/movies.

  2. Настройте VOD локацию, из которой плейлист будет брать файлы:

vod vod {
 storage /var/movies;
}
  1. Создайте файл плейлиста. Пусть он будет в каталоге /tmp/playlist.txt. Можно расположить и на другом сервере. В файле плейлиста перечислите файлы для проигрывания:
vod/video1.mp4
vod/video2.mp4
  1. Создайте поток со схемой playlist:// для указания источника. Вы можете использовать локальный файл или файл плейлиста, размещенный на другом сервере (playlist://http://).
stream playlist1 {
 input playlist:///storage/playlist.txt;
}
stream playlist2 {
 input playlist://http://examplehost:5000/file/playlist.txt;
}

Если в каталоге /var/movies есть файлы video1.mp4 и video2.mp4, то их проигрывание начнется сразу же и будет зациклено.

В плейлист можно добавить управляющие команды:

#EXT-X-MEDIA-SEQUENCE:20
#EXT-X-PROGRAM-DATE-TIME:2013-02-12T12:58:08Z
vod/video1.mp4
#EXTINF:64
vod/video2.mp4

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

Управляющие команды

Плейлист поддерживает управляющие команды:

  • #EXT-X-MEDIA-SEQUENCE — номер первого элемента плейлиста. Используется для правильной ротации и обновления плейлиста.
  • #EXTINF — продолжительность в секундах проигрывания элемента плейлиста. Может использоваться для вставки прямого эфира.
  • #EXT-X-UTC — Unix Timestamp того времени, когда надо начать проигрывать элемент плейлиста
  • #EXT-X-PROGRAM-DATE-TIME — время начала проигрывания элемента плейлиста в формате ISO 8601: 2013-02-12T12:58:38Z по GMT.

После завершения каждого файла плейлист перечитывается.

Надо учитывать следующие правила обработки плейлистов:

  1. Если указана опция EXT-X-MEDIA-SEQUENCE, то запоминается последний проигранный номер и после перечитывания проигрывание продолжается со следующего номера. То есть содержимое нового плейлиста может быть любым, синхронизация будет осуществляться со следующего номера. Если в новом плейлисте все номера меньше, чем последний проигранный, то плейлист будет каждую секунду перечитывать файл, ожидая появления правильного номера;
  2. Если опция EXT-X-MEDIA-SEQUENCE не указана и сам файл плейлиста не менялся, то проигрывается следующий элемент. Если менялся, то проигрывание начинается с начала.

Использование потоков в плейлисте

Например, у вас на Flussonic есть потоки: cam1, cam2, и плейлист camplaylist:

stream cam1 {
 input fake://fake;
}
stream cam2 {
 input fake://fake;
}
stream camplaylist {
 input playlist:///storage/playlist1.txt;
}

Flussonic playlist

В плейлисте playlist1.txt запишем имена потоков:

#EXTINF:60
cam1
#EXTINF:60
cam2

Мы создали список воспроизведения, который последовательно воспроизводит cam1 и cam2, переключаясь между потоками каждые 60 секунд.

Недостатки серверных плейлистов

Серверные плейлисты имеют ряд недостатков при их использовании в Интернете для вставки видео на сайт:

  • невозможность использовать таргетинг при вставке рекламы;
  • невозможность учитывать рекламу через adriver и другие подобные сети;
  • сложность сделать мультибитрейтной доставки: разные файлы могут иметь разное количество разных битрейтов;
  • технически неоправданно сложно делать отмотку назад, а это одно из основных преимуществ интернет-доставки по сравнению с эфирной;
  • пауза слишком сложна в реализации.

Невозможность реализации адекватной системы учета рекламы сводит на нет все желание использовать серверные плейлисты. Поэтому вместо серверных плейлистов рекомендуется использовать клиентские плейлисты, когда абонент IPTV сам формирует плейлист из доступных каналов.

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