Skip to content

Публикация RTMP по ключу

media.publish.rtmp_streamkey

Ключ выбирает стрим и разрешает входящую RTMP-публикацию. Без rtmp_streamkey публикация в стрим запрещена, даже если у него явно задан вход publish.

Назначение

Кодеру достаточно знать адрес сервера и ключ: имя стрима в команду публикации не передаётся. Подключайтесь к серверу, на котором настроен приём этого стрима. Автоматическая маршрутизация публикации между серверами не реализована.

Отличие от базовой публикации

Ключ обеспечивает допуск и выбор стрима для RTMP-публикации. Он не меняет транспорт и набор кодеков.

Настройка

В консоли откройте стрим, добавьте явный вход Publish в нужную позицию списка и задайте ключ в его карточке. Доступны ручной ввод и кнопка Перегенерировать ключ. Формат — не менее 5 латинских букв, цифр или ._-. Ключ хранится в inputs[index].publish.rtmp_streamkey; настройка ключа сама не добавляет и не перемещает входы. Верхней границы длины нет. Перегенерация создаёт случайный ключ из 10 символов.

Поле скрывает ключ. Для настройки кодировщика используйте кнопку копирования; глазок позволяет временно показать значение.

listeners:
  rtmp:
  - port: 1935
streams:
- name: studio
  inputs:
  - publish:
      rtmp_streamkey: Abc012._-Z

В OBS задайте сервер rtmp://server:1935 и ключ Abc012._-Z. В API central используйте PATCH /central/api-v4/streams/configs/studio с телом {"inputs":[{"publish":{"rtmp_streamkey":"Abc012._-Z"}}]}. Массив inputs заменяется целиком: при наличии других входов передавайте весь список в нужном порядке со всеми его настройками и секретами.

Ключ разрешает RTMP-публикацию в единственный явный publish-вход. Без ключа, включая publish: {}, RTMP запрещён; имя стрима не заменяет секрет. Central атомарно проверяет уникальность ключа по текущему конфигу всего кластера, включая выключенные стримы. История использованных ключей не хранится. Второй publish-вход и publish внутри MBR запрещены валидацией.

После применения замены или очистки ключа сервер разрывает текущую RTMP-публикацию и запрещает подключения по прежнему ключу. Очистка rtmp_streamkey: null оставляет publish-вход. SRT-публикация при смене RTMP-ключа сохраняется; при неизменном ключе прочие правки конфига не разрывают RTMP-соединение.

Если выше publish расположен работающий источник, RTMP- или SRT-кодер принимается как резерв. Возврат основного источника через чистое окно сохраняет кодер подключённым резервом. Второму кодеру отказывают, даже пока первый в резерве или ещё не передаёт пригодных кадров. При переходе на видеопубликацию сервер ждёт следующий ключевой кадр; для audio-only — пригодный аудиокадр. Действуют обычные таймауты источника и транспорта.

Что дальше

Транспорт

RTMP через TCP. Ключ передаётся как имя публикации; шифрование транспорта он не добавляет.

Поддерживаемые кодеки

Те же, что у RTMP-публикации.