Mediaserver – это мощная платформа для обработки и управления медиаданными, которая состоит из нескольких ключевых модулей, каждый из которых отвечает за выполнение определенных функций. На данной странице документации мы рассмотрим архитектуру Mediaserver и особенности каждого из его модулей: Capture, Streaming и DVR, а также сервиса Web.
На странице:
Архитектурная схема
Модуль Capture
Модуль Capture отвечает за организацию и поддержание соединения с камерой (источником потока). Он выполняет следующие ключевые функции:
-
Предоставляет API для захвата потоков модулями (внутренними клиентами).
-
Захватывает потоки RTSP по протоколам TCP/UDP.
-
Обрабатывает RTP пакеты.
Для выполнения этих задач в Capture есть два типа обработчиков:
-
Streamer. При добавлении нового потока, создается отдельный обработчик Streamer. Он предоставляет интерфейс, который обрабатывает RTP пакеты потоков с камер и передает их для дальнейшего стриминга.
-
Recorder. Данный обработчик создается в том случаем, если включена запись потока. Он предоставляет интерфейс, который обрабатывает RTP пакеты потоков с камер и далее передает пакеты в архив DVR/Archive.
Модуль Streaming
Модуль Streaming выполняет следующие функции по управлению потоками видео в различных форматах и протоколах:
-
RTSP Live стриминг – передача видео в реальном времени с помощью протокола RTSP.
-
RTSP Archive/DVR стриминг – воспроизведение видео из архива с использованием RTSP.
-
HLS Live стриминг – передача видео в реальном времени с использованием протокола HLS.
-
HLS Archive/DVR стриминг – воспроизведение видео из архива с использованием HLS.
-
WebRTC Live стриминг – передача видео в реальном времени с использованием технологии WebRTC.
-
WebRTC Archive/DVR стриминг – воспроизведение видео из архива с использованием WebRTC.
-
Получение записи в отдельном архиве в формате fMP4.
-
Получение записи в отдельном архиве TAR – сохранение видео в архив в формате TAR, что позволяет упаковывать множество файлов в один архивный файл для удобного хранения и управления.
Для осуществления функциональности сервис Streaming взаимодействует со следующими обработчиками Live/DVR player:
-
HLS Live / RTSP Live / WebRTC Live – обрабатывают запросы на просмотр видео Live.
-
HLS DVR / RTSP DVR / WebRTC DVR – обрабатывают запросы на просмотр видео из архива Archive/DVR.
Сервис DVR player обеспечивает загрузку всех RTP пакетов, записанных в архив Archive/DVR, по указанному потоку (Stream UID) и временной отметке (Time stamp).
Модуль DVR
Модуль DVR в Mediaserver позволяет записывать видеопотоки и работать с видеоархивами. Эта функция, называемая DVR (Digital Video Recording), предоставляет гибкие возможности настройки записи, хранения и дальнейшего использования архива для каждого потока. Этот подход обеспечивает удобное и адаптивное управление видеоданными, подходящее для различных сценариев использования, условий эксплуатации системы, а также позволяет эффективно управлять пространством для хранения данных.
DVR обеспечивают следующие возможности.
Запись и хранение потока в зависимости от требований и условий:
-
По умолчанию записи DVR создаются фрагментами длительностью по 2 минуты. Однако, при заведении потока в Controller, доступна настройка длительности записи в соответствии с потребностями.
-
Система автоматически архивирует данные в локальное хранилище, расположенное в указанной директории, и хранит их в течение заданного периода. По истечении этого срока старые записи автоматически удаляются, обеспечивая непрерывное сохранение новых. Кроме того, предусмотрена возможность полного удаления архива по запросу клиента.
-
Архив возможно записывать как постоянно (видео записывается без остановки, обеспечивая полный непрерывный архив), так и для экономии ресурсов настроить частичную запись по следующим параметрам:
-
Запись по требованию – запись начинается и заканчивается по требованию клиента.
-
Запись по событию – запись начинается при наступлении определенного события, например, движении в кадре.
-
Запись по расписанию – запись происходит в соответствии с установленным расписанием, что позволяет записывать видео в определенные промежутки времени.
-
Запись с прореживанием – запись потока осуществляется с различными вариантами прореживания:
-
Постоянно – записываются только ключевые кадры потока (IDR кадры).
-
По требованию – запись включается только по требованию клиента.
-
По активности сцены – если в кадре нет изменений, то записываются только IDR кадры. При наличии изменений в кадре – происходит событие и видеопоток записывается полностью.
-
-
Экспорт архива позволяет сохранить видео в различных форматах, каждый из которых обладает своими преимуществами:
-
MP4 – один из самых популярных видеоформатов, широко совместимый с различными устройствами и программным обеспечением. Это делает MP4 отличным выбором для удобного воспроизведения и обмена видеофайлами.
-
fMP4 – вариант формата MP4, поддерживающий адаптивное потоковое видео (adaptive streaming). Это позволяет видео автоматически подстраиваться под скорость интернет-соединения пользователя, обеспечивая наилучшее качество и минимальную задержку даже при изменениях в сети.
-
Snapshot (MP4) – снимок в формате MP4. Этот формат отлично подходит для быстрого доступа к ключевым моментам видео, позволяя легко находить и просматривать важные события.
-
Preview (MP4) – предпросмотр видеоматериала в формате MP4. Это дает возможность быстро оценить содержание видеофайла, не тратя время на просмотр всего видео.
-
Сырой архив – сохранение неотредактированного видеопотока для дальнейшей обработки и анализа. Этот формат позволяет сохранить максимально полную и точную информацию, что может быть полезно для профессионалов, занимающихся детальным анализом видео.
Передача и воспроизведение DVR-записей:
-
Использование RTSP, HLS и fMP4 для передачи и воспроизведения DVR-записей предоставляет пользователям удобный и эффективный способ удаленного доступа к видеозаписям. Эти протоколы и форматы обеспечивают высокое качество видео, адаптивность и совместимость с большинством современных устройств, включая компьютеры, смартфоны и планшеты.
-
Просмотр DVR-записи без захвата потока. Одной из важных функций DVR является возможность просмотра записанного видеопотока без необходимости его повторного захвата. Это особенно актуально для систем видеонаблюдения, где требуется оперативно получить доступ к архивным записям.
Сервис Web
Сервис Web предоставляет возможности управления потоками данных, обработки запросов и обеспечения отказоустойчивости системы следующим образом:
-
HTTP/HTTPS API для управления потоками (CRUD): добавление, удаление, авторизация, и создание токенов.
-
HTTP/HTTPS прокси API для перенаправления запросов на указанные адреса.
-
Cluster API – предназначен для работы с кластерами, что помогает обеспечивать отказоустойчивость системы.
-
Webhooks/Websockets – механизм уведомления Controller о различных событиях как, например, добавление потока, изменения статуса потоков и т.д. Детально смотрите в разделе документации «Конфигурирование Webhook и событий оповещения».