---
title: Видеонаблюдение (RTSP-сервер)
url: https://doc2.pstreamer.tv/ru/manual/streamer/surveillance.html
lang: ru
product: Perfect Streamer
version: 2.0.2.423
---

# Видеонаблюдение (RTSP-сервер)

> **Важно**
>
> **Бета-версия 2.1.** Описанное здесь есть только в бета-версии 2.1: она ставится из бета-репозитория и только с лицензией, в стабильной версии 2.0.2 и в демоверсии этого нет. Бета-версия поставляется без гарантий, поддержка — по возможности ([Программа бета-тестирования](../extras/beta.md#extras-beta)).

С версии 2.1.0.485 узел может отдавать свои SPTS-потоки по RTSP — системам видеонаблюдения (VMS) и плеерам, например VLC и ffmpeg. С версии 2.1.0.493 по тому же адресу воспроизводится и архив потока. Сервер настраивается на экране «Видеонаблюдение» ([Видеонаблюдение](../webui/administration.md#webui-surveillance)); в демоверсии его нет.

## Прямой эфир

По умолчанию RTSP-сервер выключен: пока он выключен, узел не открывает RTSP-порт. Включённый сервер отдаёт каждый SPTS-поток узла; отдельного переключателя или списка доступа для потока нет. MPTS-потоки не отдаются.

Адрес потока:

```
rtsp://<хост>:<порт>/<поток>
```

Здесь `<поток>` — OTT-имя потока (то же, что в его адресах HLS, даже если OTT выключен) или его номер. Порт по умолчанию — 554.

- Видео H.264 или H.265 со звуком AAC или AC-3 передаётся отдельными RTP-потоками; звук в других кодеках не передаётся.
- Поток, видео которого не H.264 и не H.265 (например, MPEG-2) или в котором нет видео, передаётся целиком как MPEG-TS поверх RTP.
- RTP идёт внутри TCP-соединения RTSP или, с версии 2.1.0.494, по UDP. По UDP видео отправляется только на адрес самого клиента; multicast не предлагается. Клиенту за NAT нужен TCP: большинство плееров переходят на него сами. Архив по UDP всегда идёт в реальном времени. До версии 2.1.0.494 на запрос UDP сервер отказывал, и VLC и ffmpeg сами переходили на TCP.
- Воспроизведение начинается со следующего ключевого кадра.

> **Примечание**
>
> ffmpeg в роли записывающего клиента (`-c copy`) не может поставить метку времени первому кадру источника H.264 с B-кадрами. Плеер такой источник и показывает, и записывает.

## RTSPS (RTSP поверх TLS)

С версии 2.1.0.494 сервер принимает и RTSPS — RTSP в зашифрованном TLS-соединении, на отдельном порту:

```
rtsps://<хост>:<порт RTSPS>/<поток>
```

RTSPS включается на экране «Видеонаблюдение» переключателем «RTSPS (RTSP поверх TLS)»; там же «Порт RTSPS», по умолчанию 322 ([Видеонаблюдение](../webui/administration.md#webui-surveillance)). В настройках узла это ключи `rtsps-enable` и `rtsps-port` секции `surveillance`.

Серверу нужны сертификат и ключ в формате PEM: файлы `surveillance.crt` и `surveillance.key` в каталоге `/opt/pss/config/cert`. Без них RTSPS не запускается: узел сообщает об ошибке в состоянии сервера в HTTP API (`/data/surveillance`) и повторяет попытку каждые 10 с.

По RTSPS видео всегда идёт внутри зашифрованного соединения: на запрос UDP сервер отказывает, и клиент переходит на TCP. Открытым текстом ничего не передаётся.

## Учётные записи каталога

С версии 2.1.0.497 к RTSP-серверу могут подключаться и учётные записи каталога LDAP или Active Directory. Для этого на экране «Видеонаблюдение» выберите «Аутентификация» — «Digest для логинов, Basic для каталога (только RTSPS)» (ключ `rtsp-auth` со значением `3`) и включите RTSPS (RTSPS (RTSP поверх TLS)). Учётные записи каталога входят только по RTSPS и по Basic, внутри TLS. По обычному RTSP Basic не предлагается и не принимается: там входят только локальные RTSP-логины, по Digest. С версии 2.1.1.502 по RTSPS в этом режиме и локальные логины входят по Basic (внутри TLS); клиенту, который умеет только Digest, остаётся обычный RTSP с локальным логином. Каким группам разрешён RTSP и сколько сессий одновременно, задаёт «Доступ к RTSP по группам» ([Зрители и RTSP через каталог](../webui/administration.md#webui-ldap-viewers)). С версии 2.1.0.499 учётной записью каталога по RTSPS входят и системы видеонаблюдения и плееры на основе live555 (VLC, openRTSP и многие VMS).

## Воспроизведение архива

С версии 2.1.0.493 архив потока воспроизводится по тому же RTSP-адресу, что и прямой эфир. Нужен поток, который пишет архив, то есть с заданным «Хранилищем DVR» ([DVR: архив потока](ott_dvr.md#streamer-dvr)); без хранилища воспроизведения архива нет.

**Системы видеонаблюдения** запрашивают интервал времени в UTC (по правилам ONVIF):

- каждый кадр приходит со своим временем записи;
- архив идёт в реальном времени, а если клиент просит — с той скоростью, какую выдерживает сеть;
- работают пауза, продолжение и переход к другому моменту.

**Плееры** (VLC, ffmpeg) открывают адрес с параметрами:

```
rtsp://<хост>:<порт>/<поток>?t=<время Unix>[&d=<секунды>]
```

`t` — начало, в секундах Unix (UTC). Ползунок перемотки работает. С `d` воспроизведение заканчивается через указанное число секунд.

**Начало.** Воспроизведение начинается с ключевого кадра в запрошенный момент или раньше него — до одного сегмента архива раньше. Если запрошенный момент раньше начала архива, воспроизведение начинается с начала архива.

**Конец.**

- Если задан конец интервала (или `d`), воспроизведение на нём останавливается.
- Если конец не задан, воспроизведение, догнав запись, переходит в прямой эфир.
- Если запись остановилась (например, камера не работает), воспроизведение заканчивается на последнем записанном кадре.

**Остановленная камера.** Поток, от которого нет данных, всё равно можно открыть и воспроизвести его архив.

Ограничения:

- Скорость только обычная: ускоренного и замедленного воспроизведения нет.
- Поток, который передаётся целиком как MPEG-TS (без видео H.264 или H.265), доступен только в прямом эфире.

Открытые сессии видны на экране «Видеонаблюдение» ([Видеонаблюдение](../webui/administration.md#webui-surveillance)) и в HTTP API (`/data/surveillance`, [Управление через HTTP API](../extras/api.md#extras-api)): для каждой видно, прямой эфир это или архив, а для архива — момент последнего отданного кадра.
