application
Директива 'application' в модуле NGINX RTMP определяет контекст трансляционного приложения для обработки медиапотоков.
Описание
Директива 'application' имеет ключевое значение для различения разных трансляционных приложений в конфигурации RTMP-сервера. Каждое приложение, настроенное с помощью этой директивы, функционирует как отдельное пространство имён, позволяя задавать специализированные параметры и обработку медиапотоков. Внутри блока 'application' можно указывать параметры, управляющие тем, как потоки публикуются, воспроизводятся, записываются и обрабатываются в целом. Многие возможности, предоставляемые этой директивой, тесно связаны с поведением при живой трансляции, аутентификацией, контролем доступа и настройками записи, по сути определяя, как RTMP-сервер взаимодействует с клиентами в отношении конкретных медиапотоков.
Кроме того, директива 'application' открывает различные вложенные опции конфигурации, такие как определение настройки 'live' для живых трансляций или включение параметров записи через атрибуты вроде 'record', 'record_path', а также различные настройки контроля доступа, такие как 'allow' и 'deny'. Такая гибкость позволяет оператору адаптировать поведение каждого приложения под конкретные сценарии использования, одновременно пользуясь общими эксплуатационными возможностями протокола RTMP. Каждая инстанция директивы 'application' может уникально удовлетворять разным потребностям трансляции без конфликтов с другими приложениями, определёнными в том же блоке RTMP-сервера.
При определении директива 'application' оформляется в виде блока, который может содержать несколько настроек. Директивы внутри этого блока могут включать параметры для fragment length, playlist length и пути обработки для DASH, если трансляция ведётся в этом формате. Из-за своей природы как блочной директивы, хорошо структурированная конфигурация необходима, чтобы все нужные параметры были явно заданы и не возникала неоднозначность в обработке потоков.
Пример конфига
rtmp {
server {
listen 1935;
application live {
live on;
record all;
record_path /var/www/html/recordings;
allow publish all;
deny play all;
}
}
}Убедитесь, что блок приложения правильно закрыт; отсутствие закрывающей фигурной скобки может привести к ошибкам конфигурации.
Неправильная настройка этой директивы может привести к тому, что потоки будут недоступны или не будут разрешены из‑за правил управления доступом.
Если конкретные настройки, такие как 'allow' и 'deny', не настроены правильно, могут возникнуть непреднамеренные ограничения доступа.