Публикация 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-публикации.