SRT-публикация¶
Приём по SRT устроен так: вы заранее говорите станции, где ждать сигнал, и отправитель обязан звонить именно туда. Публикация переворачивает эту схему — корреспондент с OBS или мобильным энкодером сам дозванивается до кластера по одному адресу и одному порту, не зная и не выбирая, из каких машин кластер состоит. Приём поднимается на той ноде, куда пришёл звонок.
Так подключают внешних авторов: репортёра с телефоном, студию партнёра, камеру на событии. Им отдают одну строку подключения — всё остальное кластер решает сам.
Как кластер принимает звонок¶
- Выделенный UDP-порт стрима слушают все ноды кластера — на какую ни позвони, дверь одна и та же.
- Дозвонившийся проходит проверку passphrase прямо на рукопожатии; дальше стрим привязывается к ноде, принявшей звонок, и запускается на ней.
- Оборвавшаяся публикация ждёт возвращения: через несколько секунд тишины соединение закрывается, стрим переходит в ожидание. Энкодер, перезвонивший на другую ноду, забирает стрим с собой — привязка следует за звонком.
- Пока публикация идёт, порт занят: второй энкодер, позвонивший в ту же дверь, получает отказ «занято» и не роняет действующую трансляцию.
Источники стриму не обязательны: стрим может жить только от публикации и подниматься с первым звонком. Источник, настроенный рядом с публикацией, работает резервом — живой эфир его перебивает.
Один адрес для всех энкодеров¶
Энкодеру нужен один адрес, а нод в кластере несколько. Настройка Адрес публикации (меню Настройки central) — это имя или IP, который консоль подставляет в строку подключения. Что стоит за этим адресом — DNS-имя с несколькими A-записями, VIP или UDP-балансировщик — выбор инсталляции; здесь разобран DNS-вариант как не требующий дополнительного софта. Пустая настройка означает хост консоли и годится только для одиночной машины.

Сценарий: DNS-имя с несколькими A-записями¶
В SRT нет перенаправлений: клиент звонит по UDP на конкретный адрес, и «спросите на соседней ноде» протокол сказать не умеет. Зато SRT-клиенты — OBS, Larix, VLC — при недоступности адреса сами перебирают A-записи имени, тратя порядка трёх секунд на мёртвую. Имя с A-записями на каждую ноду даёт отказоустойчивость силами самого клиента: нода умерла — энкодер дозвонился до следующей.
Порядок настройки:
- Заявите публичные адреса нод. В карточке каждой ноды заполните Публичный адрес медиа — поле предлагает выбор из адресов, которые нода видит на своих интерфейсах; за NAT правильный адрес знаете только вы, впишите его руками.
- Сверьтесь с подсказкой. Под настройкой Адрес публикации консоль показывает кандидатов в DNS-записи — по одному адресу на живую ноду, с именем ноды. Это и есть список того, что нести в зону.
- Заведите A-записи. В своей DNS-зоне создайте имя — например,
publish.example.com— с A-записью на адрес каждой ноды из списка. - Впишите имя в «Адрес публикации» и сохраните. Кластер периодически резолвит имя и сверяет результат с реестром нод: у настройки видно, что имя ведёт на живые ноды. Имя, которое не резолвится или ведёт только на выключенные ноды, зажигает предупреждение — типовая ошибка сопровождения «ноду вывели, запись забыли» видна сразу, а не при первом сорванном эфире. Строки для энкодера у всех стримов с этого момента собираются с именем.
Две честные оговорки:
- Несколько A-записей — это отказоустойчивость, а не балансировка: резолверы кешируют и перетасовывают записи по-своему, и энкодеры одной сети могут дружно садиться на одну ноду. Перекос привязок по нодам — штатная картинка.
- Не всякий мобильный клиент перебирает записи. Часть приложений берёт первый адрес и долбится в него. Для таких надёжнее завести в профиле энкодера два адреса — основной и резервный.
Настройка стрима¶
Откройте стрим на вкладке Стримы и найдите секцию SRT-публикация:
| Поле | Что задаёт |
|---|---|
| UDP-порт | порт публикации; один порт — один стрим, на всех нодах сразу |
| Passphrase | ключ шифрования AES, 10–79 байт; при несовпадении звонок отклоняется на рукопожатии |
Passphrase необязателен, но порт без него — открытая дверь: публиковать сможет любой дозвонившийся. Оставляйте его пустым только в доверенной сети, о чём форма предупреждает.

Под полями собирается готовая Строка для энкодера — srt://адрес:порт?passphrase=… — с кнопкой копирования и QR-кодом: адрес с ключом вбиваются в мобильный энкодер с камеры, а не с клавиатуры. Адрес в строке — тот самый Адрес публикации из раздела выше: задайте его до того, как раздавать строку, иначе энкодер унесёт адрес одной конкретной ноды.
Рядом с QR — вкладки Larix и Moblin: та же дверь готовой ссылкой импорта для этих приложений — сканируется их камерой, соединение появляется в настройках само.

Подключение энкодера¶
В OBS: Настройки → Трансляция → Служба: Настраиваемый, в поле Сервер — строка из карточки стрима целиком:
srt://publish.example.com:9000?passphrase=ваш-ключ
Мобильному энкодеру покажите QR из той же секции. После старта вещания стрим поднимется в течение пары секунд — это видно в списке стримов и на странице портов.
Сводка SRT-портов¶
Страница SRT-порты (в меню под Стримами) — карта всех SRT-дверей кластера: порты публикации и раздачи, чей каждый порт, задан ли passphrase, слушается ли фактически. Здесь же:
- выбор порта под новый стрим — занятые номера перед глазами, дубль порта помечен;
- живая публикация — адрес энкодера и нода, принявшая звонок;
- привязка между звонками — у стрима, чей энкодер оборвался и ещё не вернулся, показана нода, где стрим ждёт возвращения: звонок на неё продолжится без опроса central, звонок на другую ноду перевезёт стрим туда;
- сверка адреса публикации — та же строка состояния, что у настройки.

Когда звонок отклоняют¶
| Что случилось | Что видит энкодер |
|---|---|
| Passphrase не совпал | отказ на рукопожатии, соединение не устанавливается |
| Порт занят действующей публикацией | отказ «занято»; идущая трансляция не прерывается |
| Публикация замолчала | через несколько секунд тишины соединение закрывается, стрим ждёт следующего звонка |
Что дальше¶
- Приём по SRT и RIST — классическая схема, когда адрес источника известен заранее.
- Доставка по SRT — отдать принятый сигнал дальше.
- Мониторинг — счётчики соединений и качество приёма.