Skip to content

Как захватить поток по MPEG-TS, записать на диск и раздать по HLS?

Как захватить MPEG-TS поток, записать его в архив, а затем доставить пользователям через HLS или другой протокол?

Как получить видео в MPEG-TS

MPEG-TS может быть захвачен по UDP со спутниковой головной станции или с карты захвата DVB.

О том, как настроить URL-адрес для получения MPEG-TS через HTTP или UDP — см. в разделе Виды источников. О настройке захвата с DVB см. как захватить видео с DVB карты напрямую во Flussonic.

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

В этом примере мы создадим поток, захваченный по UDP, дадим ему имя ort и добавим URL источника udp://239.0.0.1:1234:

MPEG-TS ingest

Более подробно о настройке получения мультикаста и о решении проблем см. в разделе Получение мультикаста.

Как настроить запись архива на диск

Flussonic Media Server позволяет записывать потоки в архив на диск и затем проигрывать архив. Эта функциональность называется Digital Video Recording (DVR).

Архивом можно управлять, поддерживая нужную глубину в часах или днях и объём заполнения жесткого диска. DVR идеально подходит для Catchup сервисов, для задач видеонаблюдения и для встраиваемых автономных решений.

Note

Flussonic записывает поток в своем внутреннем представлении, независимо от какого-либо конкретного видеопротокола. А вот доступ к записанному потоку вы получаете уже по различным протоколам. Единственное, что вам нужно, — это включить запись архива, а затем использовать специальный URL-адрес для просмотра.

Чтобы начать запись архива, нужно кликнуть поток в списке в Media, перейти в раздел DVR и в поле Path указать путь до директории, куда будет вестить запись. Также можно включить архив вручную в файле. Подробнее о настройке читайте в разделе Настройка DVR (Digital Video Recording).

Flussonic DVR

Как проверить запись архива

Проверить работу архива можно в веб-интерфейсе Flussonic на вкладке DVR в настройках потока. Эта вкладка содержит DVR плеер. Такой же плеер открывается и по URL вида http://FLUSSONIC-HOSTNAME/STREAMNAME/embed.html?dvr=true.

Также можно отдать ссылку для проигрывания по HLS (см. ниже) в Middleware. Stalker сам умеет их генерировать, как и многие другие Middleware.

Как проиграть архив по HLS

Чтобы выбрать выходной протокол, вы должны знать, какой кодек поддерживается большинством устройств, которые ваша аудитория будет использовать для просмотра потока. См. список поддерживаемых форматов для прямых трансляций

В руководстве по проигрыванию архива используя различные протоколы приведены примеры URL-адресов для воспроизведения записанного потока.

Доступ к архиву можно получить многими способами, рассмотрим основные.

HLS URL

Для проигрывания по HLS добавьте ссылку следующего вида в плеер или Middleware:

http://FLUSSONIC-IP/STREAM_NAME/archive-TIME-DURATION.m3u8

Здесь TIME — время начала отрывка в UTC Unix Timestamp, DURATION — длительность запрашиваемого отрывка в секундах. Пример: archive-1350274200-4200.m3u8

Подробнее о проигрывании по HLS

embed.html

Используйте наш плеер embed.html.

C параметром ago плеер будет играть live и разрешать перемотку назад на указанное количество секунд:

http://FLUSSONIC-HOSTNAME/STREAMNAME/embed.html?ago=7200

Подробнее о плеере embed.html?ago=SECONDS

C параметром dvr=true плеер будет играть архив с инструментами для навигации по архиву:

http://FLUSSONIC-HOSTNAME/STREAMNAME/embed.html?dvr=true

Подробнее о плеере embed.html?dvr=true

Сохранение в файл .ts

Вы можете запросить необходимую часть архива и сохранить ее как файл .ts или .mp4. Подробнее

Мультиязык

Традиционно MPEG-TS протокол предлагает стандартизованный механизм выбора языковой дорожки и субтитров при одном видеобитрейте.

Протокол HLS, основанный на MPEG-TS, отказывается от упаковки нескольких аудиодорожек в один поток и предлагает раздавать альтернативные аудиодорожки в отдельных сегментах, которые потом надо микшировать на плеере. Так работает плеер в iOS, но так не работает большинство плееров в STB.

Для того чтобы пользователь увидел несколько разных языков при передаче видео по HLS на такие STB, как Mag, Dune, Eltex, надо использовать другие URL, например для HLS (обратите внимание, что вместо index используется префикс video): http://FLUSSONIC-IP/STREAM_NAME/video.m3u8, http://FLUSSONIC-IP/STREAM_NAME/video-1429829884-3600.m3u8, http://FLUSSONIC-IP/STREAM_NAME/timeshift_abs_video-1429829884.m3u8.

При запросе этих URL Flussonic Media Server по-другому упаковывает дорожки и позволяет плеерам, не поддерживающим полностью стандарт HLS, добраться до разных вариантов аудио.