Глоссарий¶
Здесь можно познакомиться с терминами, которые встречаются в документации на Flussonic Media Server.
Adaptive bitrate streaming (Адаптивный стриминг)¶
Адаптивный стриминг — способ видео стриминга по HTTP, когда исходное содержимое кодируется с разным качеством.
Deinterlacing (Деинтерлейсинг)¶
Деинтерлейсинг – это конвертирование чересстрочного видео в прогрессивное.
В чересстрочном видео нечетные и четные строки кадра демонстрируются как отдельные поля. Сначала на экране отображаются нечетные строки, затем – четные. Два таких поля вместе составляют один видеокадр. Чересстрочное видео хорошо подходит для вещания, т.к. изображения могут демонстрироваться на экране с низкой пропускной способностью. Но у чересстрочного видео также есть и недостаток: при быстром движении видео может быть нечетким, т.к. в один момент времени захватывается лишь часть изображения, и по краям видеокадра могут быть заметны искажения.
В прогрессивном же видео нечетные и четные строки отображаются одновременно, то есть видеокадр отображается на экране целиком.
Деинтерлейсинг необходим для комфортного просмотра старых телепрограмм на современных компьютерах и мобильных устройствах.
DVR¶
Это возможности Flussonic по записи потоков в архив и работы с архивом — воспроизведения по разным протоколам или экспорта в файл MP4.
Frame (Кадр)¶
Видео кадр — это одно из многих статичных изображений, из которых состоит видео. Это минимальная составная часть видеотрека. У каждого кадра есть начало и продолжительность.
Frame duration (Продолжительность кадра)¶
Для видеотрека продолжительность кадра — это время от начала кадра до начала следующего кадра.
Этот параметр важен для некоторых протоколов. В обычной ситуации продолжительность кадра равна разнице между моментами начала двух соседних кадров. Однако иногда (когда соединение прерывается) возможны разрывы в видео. В результате разница между моментами начала двух соседних кадров не равна продолжительности кадра. Такая проблема рассматривается как разрыв между кадрами и решается по-разному в зависимости от протокола.
GOP (Group of Pictures)¶
Group of Pictures (GOP, группа изображений) — упорядоченная цепочка следующих друг за другом изображений в кодированном видеопотоке. Кадры объединяются в группы для целей межкадровой компрессии, без которой передача видеопотока по сети расходовала бы огромное время и трафик. Сжатие выполяет программа-кодировщик (encoder).
Сжатый поток представляет собой следующие друг за другом GOP. На стороне получателя декодер составляет видимые кадры из кадров, заключенных в GOP.
GOP состоит из I-кадра и следующих за ним P- и B-кадров:
- I-кадр (keyframe, опорный) – первый кадр в GOP. Содержит полное изображение, которое сжимается независимо от других кадров (без ссылок на них).
-
P-кадр, B-кадр – следующие кадры в GOP.
- P-кадр – содержит (чаще всего) разницу между изображением на предыдущем P-кадре и изображением на текущем кадре. Сжимается со ссылкой на ключевой кадр.
- B-кадр – содержит ссылки на соседние кадры (на один или несколько I и P кадров), что позволяет ускорить обращение к потоку при перемотке, например.
GOP size (Размер GOP)¶
Размер GOP (расстояние в кадрах между соседними ключевыми кадрами) — количество кадров в одном GOP. Размер GOP у потока бывает переменным и постоянным. Когда Flussonic перекодирует видео, он создает все GOP постоянного размера. Вы можете настраивать размер GOP в опциях транскодера Flussonic.
Multicast (Мультикаст)¶
Multicast – способ вещания видео, при котором UDP пакеты передаются от одного источника группе подписчиков по мультикаст IP адресу в локальной сети.
Подробнее о мультикасте читайте в документации
Prepush¶
Prepush – метод для более плавного проигрывания видео по протоколам HTTP MPEG-TS, RTMP и RTSP (при отправлении пакетов по TCP). Видеостриминговый сервер сохраняет в буфере каждый GOP, прежде чем передать его клиенту. При подключении клиента сервер отправляет клиенту первый GOP из буфера и продолжает трансляцию потока с отставанием, равным продолжительности GOP. Клиент при этом поддерживает буфер продолжительностью, равной продолжительности GOP (если перевести GOP в секунды). Если соединение клиента с сервером прерывается или замедляется, то он проигрывает видео из буфера, что сглаживает неравномерность сетевой передачи.
Publishing (Публикация)¶
Публикация — передача видео на Flussonic Media Server от программ и устройств, которые являются инициаторами начала видеотрансляции. Flussonic при этом сторона, ожидающая соединения.
К публикации на Flussonic относится:
- Передача видео с любого мобильного устройства на сервер Flussonic.
- Передача видео из OBS (Open Broadcaster Software) или vMix на сервер Flussonic. Подробнее
- Передача видео с HTML страницы в браузере через WebRTC на сервер Flussonic. Подробнее
А это мы не называем публикацией:
- Получение мультикаста
- Захват потока из какого-либо источника (в этом случае Flussonic является инициатором соединения).
Segments (Сегменты)¶
В протоколах DASH и HLS сегмент — это единица разбивки видео на части для передачи и буферизации, измеряется в секундах. В сегменте может быть больше одного GOP и сегмент должен быть кратен GOP. Сегмент не может быть меньше, чем GOP (если измерять количеством секунд).
Устройство, передающее видео по протоколам DASH и HLS, передает видео в виде сегментов продолжительностью три секунды и плейлиста, в котором эти сегменты перечислены. Прежде, чем начать проигрывать видео по этому протоколу, клиент загружает буфер. Если соединение клиента с сервером прерывается или замедляется, то он проигрывает видео из буфера, что сглаживает неравномерность сетевой передачи. Как правило, клиент загружает три сегмента, прежде чем начать проигрывание потока.
Transcoder (Транскодер)¶
Транскодер — компонент, который выполняет прямое цифровое преобразование исходного видеопотока, чтобы создать мультибитрейтный поток, изменить параметры видео (кодек, размер изображения, битрейт) или наложить логотип.
Video codec (Видео-кодек)¶
Это технология сжатия "сырого" видео для последующей упаковки в контейнер для передачи по определенному протоколу.
Video container (Видео-контейнер)¶
Контейнер (или транспорт) — это формат, в который кодированные данные в файле или в потоке упаковываются для передачи по сети. Пакеты с аудио и видеоданными передаются на транспортном уровне по модели OSI.
Формат контейнера самодостаточен и независим от протокола доставки, т.е. можно упаковать данные, но не передавать их по сети, а сохранить и проиграть в плеере локально.
Video streaming protocol (Протокол потоковой передачи видео)¶
Протокол потоковой передачи видео — это правила обмена данными, командами и ответами на них между двумя участниками видеосвязи (клиент-сервер либо peer-to-peer).
При подготовке данных для передачи по сети: