---
title: Резервирование: что от чего защищает
url: https://doc2.pstreamer.tv/ru/manual/planning/redundancy.html
lang: ru
product: Perfect Streamer
version: 2.0.2.423
---

# Резервирование: что от чего защищает

Доставка канала держится на пяти звеньях: источник, канал связи, сеть, узел и, для OTT, связь зрителя с узлом. У каждого звена свой механизм защиты, и каждый механизм закрывает только своё звено. Ниже — какую схему выбрать под задачу, затем каждый уровень: что он защищает, во что обходится и как уровни сочетаются.

Настройки — на справочных страницах по ссылкам.

![Пять уровней резервирования: основной и резервный источники приходят на два узла по защищённому каналу; узел A отправляет, узел B держит поток наготове; multicast идёт двумя сетями к приёмникам; OTT-зрители получают резервный узел в master-плейлисте.](../../_images/reserve_layers.svg)

*Пять уровней резервирования. Уровни 3–5 — возможности версии 2.1 (бета).*

## Выбор схемы под задачу

| Задача | Схема |
| --- | --- |
| Доставка канала по интернету между своими узлами | SRT или PS1 с буфером под RTT канала; второй вход — тот же канал другим путём или от другого источника. |
| Головная станция → приёмники multicast (IPTV оператора, гостиница) | Резервные входы на каждом потоке и горячий резерв multicast-выходов на двух узлах; третий узел, который только голосует, если узлов два. |
| Управляемая вещательная сеть со сторонними приёмниками | RTP или Pro-MPEG FEC; при двух независимых сетях — ST 2022-7. Узел-передатчик защищает резерв multicast-выходов. |
| OTT для зрителей в интернете | Резервные входы и резерв OTT/DVR на двух и более узлах с публичными адресами HTTPS; кеш или CDN — по [8.1. Резерв OTT/DVR и CDN](../extras/ott_caching.md#extras-ott-cdn-reserve). |
| Гостиница | [Гостиничное телевидение: руководство интегратора](hotels/index.md#planning-hotels). |

## Сравнение

| Уровень | Перерыв при отказе | Полоса | Что нужно ещё | Задержка |
| --- | --- | --- | --- | --- |
| Резервные входы | Таймаут потока | Без доплаты | Второй источник | Не растёт |
| ARQ (PS1, SRT, RIST) | Нет, пока потери в пределах буфера | Запас на повторы | Обратный канал | Буфер приёмника, несколько RTT |
| Pro-MPEG FEC | Нет, при небольших потерях | +10–30 % и больше | — | Ожидание FEC матрицы |
| ST 2022-7 | Нет | × 2 | Вторая независимая сеть | Окно отстающего пути |
| Резерв multicast-выходов | Нет | Источник на каждый узел | Второй узел, домен Meshwork | «Задержка выхода», от 500 мс |
| Резерв OTT/DVR | Пауза, пока проигрыватель замечает отказ | Без доплаты, пока узлы целы | Второй узел с запасом, публичные адреса | Не растёт |

## 1. Источник: резервные входы

У потока может быть несколько входов — например, канал со спутника и тот же канал из интернета. Активен один. Если он признан аварийным (нет данных дольше таймаута потока или поток не проходит проверку), поток переходит на следующий вход по списку, а затем возвращается на основной ([Резервирование источников](../streamer/spts.md#streamer-spts-reservation)).

- **Защищает** от отказа источника: спутника, провайдера, кодера, линии до узла.
- **Цена.** Второй источник того же канала. Переключение не бесшовное: до него проходит таймаут потока, и приёмники видят короткий перерыв.
- **Наблюдение.** Работу на резервном входе сообщает алерт кода 27 (`input-fallback`), неисправный резервный вход — код 65 (`backup-input-error`), поток без единого рабочего входа — код 60 (`stream-no-source`) ([Перечень алертов](../extras/alert_codes.md#extras-alert-codes)). Каждый переход записывается в журнал событий потока ([События на графиках](../webui/streams.md#webui-stream-stats-events)).

## 2. Канал связи: повторная передача и FEC

Потери и джиттер в канале между узлами или от стороннего оборудования компенсирует транспортный протокол ([Протоколы передачи](transport.md#planning-transport)):

- **ARQ** (PS1, SRT, RIST) — повторная передача потерянных пакетов. Нужен обратный канал. Цена — буфер приёмника в несколько RTT (задержка) и запас полосы на повторы.
- **FEC** (Pro-MPEG) — постоянная избыточность без обратного канала. Цена — 10–30 % и больше сверх битрейта (зависит от матрицы) и задержка на ожидание FEC. Восстанавливает только небольшие потери.

Протокол защищает от потерь, но не от обрыва канала: если канал пропал целиком, помогает только резервный вход с другим путём доставки (уровень 1).

## 3. Сеть: два пути SMPTE ST 2022-7

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

Один и тот же поток RTP или Pro-MPEG идёт к приёмнику двумя независимыми сетями, и приёмник собирает его по номерам пакетов. Пакет, потерянный в одной сети, берётся из другой ([Требования к сети для ST 2022-7](st2022_7.md#planning-st2022-7)).

- **Защищает** от отказа одной сети целиком — коммутатора, линии, питания — и от потерь в ней, без переключения и без перерыва.
- **Цена.** Две раздельные сети, по сетевой карте на каждую, двойная полоса. Задержка приёма растёт на окно ожидания отстающего пути (по умолчанию 450 мс, можно меньше, если пути близки).
- **Не защищает** от отказа самого узла-передатчика: оба пути отправляет он.
- **Наблюдение.** Пропавший путь — алерт кода 75 (`input-path-down`), пути с разными потоками — код 76 (`input-paths-differ`).

## 4. Узел: горячий резерв multicast-выходов

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

Несколько узлов одного домена Meshwork получают один источник и держат одинаковые выходы UDP, RTP или Pro-MPEG на один multicast-адрес. Отправляет один. Если отказывает он, его выход или вход, группу без разрыва и без повторов подхватывает другой узел, и приёмники остаются на том же адресе ([Горячий резерв multicast-выходов](multicast_reserve.md#planning-mreserve)).

- **Защищает** от отказа сервера, его выхода или входа. Серверы можно обслуживать по очереди: узел, который останавливают штатно, сначала передаёт свои группы.
- **Цена.** Каждый узел принимает источник и обрабатывает поток так же, как отправитель: ресурсы и входящая полоса — на каждом узле полностью. Задержка выдачи растёт на «Задержку выхода» группы — от 500 до 2500 мс, по умолчанию 500.
- **Требования.** Один домен Meshwork, открытый между узлами UDP-порт канала управления (по умолчанию 43975), синхронизированные часы, одинаковые адреса выходов.
- **Наблюдение.** Экран «Резервы» ([Резервы](../webui/reserves.md#webui-fleet-reserves)), дорожка «Резерв» статистики потока ([Дорожка «Резерв»](../webui/streams.md#webui-stream-stats-reserve)), алерты кодов 66–74 ([Резервирование потоков](../extras/alert_codes.md#extras-alert-codes-reserve)).

## 5. Зритель OTT: резерв OTT/DVR

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

Узлы, которые раздают один канал по HLS, LL-HLS или DASH, объединяются в OTT-группу. Master-плейлист называет проигрывателю резервные узлы, и при отказе узла проигрыватель продолжает с другого. Узел, который не может обслужить нового зрителя или запрос архива, перенаправляет их на узел, который может ([Резерв OTT/DVR](ott_reserve.md#planning-ott-reserve)).

- **Защищает** зрителей OTT от отказа узла или потока на нём; архив прошедших передач отдаёт узел, у которого он есть.
- **Цена.** Зрители отказавшего узла распределяются по остальным подходящим узлам: из N узлов каждый должен выдержать 1 + 1/(N−1) обычной нагрузки. Каждому узлу нужен адрес, доступный зрителям напрямую.
- **Ограничения беты.** Переход во время просмотра — только у одиночных потоков HLS и только у проигрывателей, которые его поддерживают ([Проигрыватели и резерв OTT/DVR](../extras/ott_players.md#extras-ott-players)).
- **Наблюдение.** Экран «Резервы», алерты кодов 70, 78 и 79.

## Как уровни сочетаются

- **Резервные входы внутри группы резерва.** Если вход отправителя замолчал или перешёл на резервный, а у другого участника поток лучше, группа переходит к нему.
- **ST 2022-7 на входе и резерв выходов.** «Задержка выхода» группы зависит от окна второго пути входа ([Кто отправляет и задержка](multicast_reserve.md#planning-mreserve-modes)).
- **Pro-MPEG FEC и резерв выходов.** Ожидание FEC на входе задерживает поток; бесшовное переключение группы покрывает его не дольше 2100 мс ([предел ожидания FEC](../webui/io/network.md#webui-io-prompeg-fec-wait)).
- **Резерв multicast и OTT на одних узлах.** Оба резерва работают независимо: группы multicast выбирают отправителя, OTT-группы — резервы для зрителей. Запас ресурсов считайте на обе нагрузки сразу.

## Наблюдение

Резерв полезен, только если о переключении узнают. Состояние всех групп этого узла, участники, итог сравнения источников и проблемы показывает экран «Резервы» ([Экран «Резервы»](../webui/reserves.md#webui-fleet-reserves-screen)); переключения — дорожка «Резерв» графиков статистики. Настройте доставку алертов дежурному ([Внешняя доставка алертов](../meshwork/alerts.md#meshwork-alert-delivery)) и вывод метрик во внешнюю систему мониторинга ([Подключение внешних систем мониторинга](../extras/monitoring.md#extras-monitoring)).
