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

Содержание

Глоссарий

Здесь можно познакомиться с терминам, которые встречаются в документации на Flussonic Media Server.

GOP (Group of Pictures)

Group of Pictures (GOP, группа изображений) – упорядоченная цепочка следующих друг за другом изображений в кодированном видеопотоке. Кадры объединяются в группы для целей межкадровой компрессии, без которой передача видеопотока по сети расходовала бы огромное время и трафик. Сжатый поток представляет из себя следующие друг за другом GOP. На стороне получателя декодер составляет видимые кадры из кадров, заключенных в GOP.

GOP состоит из I-кадра и следующих за ним P- и B-кадров:

  • I-кадр (keyframe, опорный) – первый кадр в GOP. Содержит полное изображение, которое сжимается независимо от других кадров (без ссылок на них).
  • P-кадр, B-кадр – следующие кадры в GOP.
    • P-кадр – содержит (чаще всего) разницу между изображением на предыдущем P-кадре и изображением на текущем кадре. Сжимается со ссылкой на ключевой кадр.
    • B-кадр – содержит ссылки на соседние кадры (на один или несколько I и P кадров), что позволяет ускорить обращение к потоку при перемотке, например.

Размер GOP

Размер GOP (расстояние в кадрах между соседними ключевыми кадрами) - количество кадров в одном GOP. Размер GOP у потока бывает переменным и постоянным. Когда Flussonic перекодирует видео, он создает все GOP постоянного размера. Вы можете настраивать размер GOP в опциях транскодера Flussonic.

Сегменты (в протоколах DASH, HLS, HDS)

Сегмент это единица разбивки видео на части для передачи и буферизации, измеряется в секундах. В сегменте может быть больше одного GOP и сегмент должен быть кратен GOP. Сегмент не может быть меньше, чем GOP (если измерять количеством секунд).

Устройство, передающее видео по протоколам DASH, HLS или HDS, передает видео в виде сегментов продолжительностью три секунды и плейлиста, в котором эти сегменты перечислены. Прежде, чем начать проигрывать видео по этому протоколу, клиент загружает буфер. Если соединение клиента с сервером прерывается или замедляется, то он проигрывает видео из буфера, что сглаживает неравномерность сетевой передачи. Как правило, клиент загружает три сегмента, прежде чем начать проигрывание потока.

Multicast (Мультикаст)

Multicast – способ вещания видео, при котором UDP пакеты передаются от одного источника группе подписчиков по мультикаст IP адресу в локальной сети.

Подробнее о мультикасте в документации

Prepush

Prepush – метод для более плавного проигрывания видео по протоколам HTTP MPEG-TS, RTMP и RTSP (при отправлении пакетов по TCP). Видеостриминговый сервер сохраняет в буфере каждый GOP прежде чем передать его клиенту. При подключении клиента сервер отправляет клиенту первый GOP из буфера и продолжает трансляцию потока с отставанием, равным продолжительности GOP. Клиент при этом поддерживает буфер продолжительностью, равной продолжительности GOP (если перевести GOP в секунды). Если соединение клиента с сервером прерывается или замедляется, то он проигрывает видео из буфера, что сглаживает неравномерность сетевой передачи.

DVR

Это возможности Flussonic по записи потоков в архив и работы с архивом — воспроизведения по разным протоколам или экспорта в файл MP4.

Протокол потоковой передачи видео

Протокол потоковой передачи видео — это правила обмена данными, командами и ответами на них между двумя участниками видеосвязи (клиент-сервер либо peer-to-peer).

При подготовке данных для передачи по сети:

  • Сначала видео- и аудио-данные нужно сжать
  • Затем упаковать в контейнер для передачи по определённому протоколу.

Видео-кодек

Это технология сжатия "сырого" видео для последующей упаковки в контейнер для передачи по определенному протоколу.

Видео-контейнер (транспорт)

Контейнер — это формат, в который кодированные данные в файле или в потоке упаковываются для передачи по сети. Пакеты с аудио и видеоданными передаются на транспортном уровне по модели OSI.

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

Публикация видео на Flussonic

Публикация — передача видео на Flussonic Media Server от программ и устройств, которые являются инициаторами начала видеотрансляции. Flussonic при этом сторона, ожидающая соединение.

К публикации на Flussonic относится:

  • Передача видео с любого мобильного устройства на сервер Flussonic.
  • Передача видео из OBS (Open Broadcaster Software) или vMix на сервер Flussonic. Подробнее
  • Передача видео с HTML страницы в браузере через WebRTC на сервер Flussonic. Подробнее

А это мы не называем публикацией: