Воспроизведение DASH¶
Flussonic Media Server поддерживает раздачу видео по протоколу DASH.
Поддерживаемые кодеки: H264, H265, AAC, MP3, AC-3.
Flussonic Media Server позволяет получать по MPEG-DASH прямой эфир, видео по запросу и видео из архива (catchup и со сдвигом по времени).
Если входной поток содержал DVB субтитры или телетекст, то они будут переданы в выходной поток, проигрываемый по MPEG-DASH, если настроить Flussonic для этого. Если поток пишется в архив, то и субтитры сохраняются в архиве.
Для передачи информации о потоке в протоколе DASH используется файл-манифест. Для простоты мы называем его здесь "плейлист".
На этой странице:¶
- Простое воспроизведение DASH
- Воспроизведение отдельных дорожек
- Проигрывание архива по DASH (Catchup DVR)
- Проигрывание по DASH с перемоткой назад
- DVR timeshift playback
- DASH манифест для проигрывания на телевизорах под WebOS и других устройствах
- Включение соответствия DASH манифеста DVB профилю
- Проигрывание потока с субтитрами
- Добавление скриншотов в плейлист DASH
Простое воспроизведение DASH¶
Если у вас есть live поток или файл (один видео трек, один аудио трек), то URL для воспроизведения через DASH очень простой:
http://FLUSSONIC-IP/STREAMNAME/index.mpd
где flussonic-ip
нужно заменить на адрес и порт вашего Flussonic Media Server.
Воспроизведение отдельных дорожек¶
Если у потока есть несколько аудио- и видеодорожек, то можно указать, какие именно дорожки следует отдавать. Для этого укажите номера дорожек в параметре filter.tracks
, добавив его в конец URL потока.
Примеры:
- Выбрать первую аудио- и вторую видеодорожки:
http://FLUSSONIC-IP/STREAMNAME/index.mpd?filter.tracks=v2a1
- Выбрать только видео:
http://FLUSSONIC-IP/STREAMNAME/index.mpd?filter.tracks=v1
- Выбрать вторую видеодорожку и первую аудиодорожку для проигрывания отрывка архива DVR длиной 3600 секунд, начиная со момента времени UTC 1362504585:
http://FLUSSONIC-IP/STREAMNAME/archive-1362504585-3600.mpd?filter.tracks=v2a1
Проигрывание архива по DASH (Catchup DVR)¶
Когда ваш поток уже записан на сервере нашим DVR, вы можете воспроизвести видео через DASH, указав время начала и конца передачи (например, взятые из EPG).
URL для проигрывания из архива:
http://FLUSSONIC-IP/STREAMNAME/archive-1362504585-3600.mpd
Такой URL будет отдавать список сегментов начиная с UTC 1362504585 (2013, Март, 5, 17:29:45 GMT) и на один час вперед (3600 секунд).
Если в потоке будет больше одной звуковой дорожки или больше одного битрейта, то будет доступен адаптивный стриминг и переключение языков.
Проигрывание по DASH с перемоткой назад¶
Есть специальный плейлист "rewind-N.mpd" с большим «скользящим» окном, позволяющий перематывать и ставить на паузу DASH потоки на долгие часы.
http://FLUSSONIC-IP/STREAMNAME/rewind-7200.mpd
Здесь 7200 — длина DASH плейлиста в секундах. Это означает, что ваши клиенты могут поставить эфир на паузу на 2 часа или перемотать на начало футбольного матча без обращения по специальными URL для DVR архива.
А также есть плейлист с возможностью получить прямой эфир и отмотать его назад до указанного момента в секундах (timestamp): "archive-N-now.mpd", где N — Unix timestamp того момента, до которого можно будет отмотать поток.
http://FLUSSONIC-IP/STREAMNAME/archive-1362504585-now.mpd
DVR timeshift playback¶
Здесь мы опишем ещё один способ проигрывания архива по DASH с возможностью перемотки до указанного произвольного времени. Если вы не создали отложенный поток, то вы всё равно можете проиграть видео по DASH со сдвигом по времени с помощью правильно построенного URL.
Пример URL для абсолютного таймшифта:
http://FLUSSONIC-IP/STREAMNAME/timeshift_abs-1584435600.mpd
Где 1584435600 — 03/17/2020 @ 9:00am (UTC)
Плеер начнет воспроизведение с live и даст возможность перемотки назад до 1584435600.
DASH-манифест для проигрывания DVR на телевизорах под WebOS¶
Flussonic может создавать манифест DASH двух типов: с несколькими периодами и с одним периодом.
Первоначально Flussonic разработал свой DASH манифест для воспроизведения архивов, записанных в CDN. Манифест с несколькими периодами был пригоден для этой цели.
Однако такой манифест несовместим с широким спектром устройств и телевизоров, используемых потребителями во многих странах, например в США. К ним относятся телевизоры LG на WebOS и др.
Для устройств, которые не могут воспроизводить DASH с многопериодной временной шкалой, мы разработали однопериодный манифест, позволяющий воспроизводить DASH на этих устройствах.
Добавьте period=mono
к URL следующим образом:
http://FLUSSONIC-IP/STREAMNAME/archive-TIME-DURATION.mpd?period=mono
или
http://FLUSSONIC-IP/STREAMNAME/archive-TIME-now.mpd?period=mono
Замечание. Однопериодный манифест для live с возможностью просмотра записанного архива (archive-TIME-now.mpd?period=mono) чувствителен к качеству источника входного потока — необходимо, чтобы не было пробелов в вещании потока.
Включение соответствия DASH манифеста DVB профилю¶
Если вы используете валидатор для DASH и выбрали в нем проверку на соответствие манифеста DVB профилю, нужно обеспечить такое соответствие.
Для этого добавьте к URL потока опцию dvb=1
:
http://FLUSSONIC-IP/STREAMNAME/index.mpd?dvb=1
Проигрывание потока с субтитрами¶
Flussonic поддерживает передачу как TTML, так и WebVTT субтитров в DASH потоки, что позволяет показывать субтитры на большем количестве устройств и приставок.
Выбор субтитров для проигрывания по DASH¶
Поскольку в манифест DASH включены два формата субтитров, вы можете выбрать один из них при проигрывании выходного потока:
https://FLUSSONIC-IP/STREAMNAME/index.mpd?text=wvtt
или (TTML используется по умолчанию)
https://FLUSSONIC-IP/STREAMNAME/index.mpd?text=ttml
Опцию text
также можно использовать в запросах со «скользящим» окном:
http://FLUSSONIC-IP/STREAMNAME/rewind-7200.mpd?text=wvtt
Добавление скриншотов в плейлист DASH¶
В плейлист DASH можно добавить скриншоты как специальные теги, которые сможет прочитать плеер. Это можно сделать как для потока с включенным DVR, так и для VOD-файла.
Чтобы добавить скриншоты в плейлист, добавьте в URL потока или VOD-файла опцию ?thumbnails=
.
Пример для окна DVR потока:
http://flussonic:80/ort/archive-1643013512-now.mpd?thumbnails=50
Пример для VOD-файла:
http://flussonic:80/vod/bunny.mp4/Manifest.mpd?thumbnails=100
Указанное значение определяет, сколько ссылок на скриншоты будет добавлено в плейлист, чтобы покрыть продолжительность окна DVR или VOD-файла соответственно. Плеер добавит на полосу проигрывания скриншоты через равные интервалы времени. Продолжительность интервала между скриншотами равна всей продолжительности окна DVR или VOD-файла, разделенной на это значение.
Если указать слишком большое число, плеер будет использовать дополнительные ресурсы, что может привести к зависанию плеера или браузера. Уменьшив этот параметр, можно ограничить количество скриншотов и, таким образом, уменьшить расход ресурсов.
Для работы этой опции в настройках потока или VOD-файла необходимо указать параметры thumbnails enabled=ondemand
и size
(размер скриншота). Например: thumbnails enabled=ondemand size=320x240;
. Можно указать несколько размеров через пробел, например, size=320x250 size=640x480
. В этом случае в плейлист будет включено несколько треков со скриншотами. Каждый скриншот в соответствующем треке будет пропорционально уменьшен, чтобы уместиться в указанный размер.
Больше информации можно найти в схеме Streaming API.