kmp_rtmp_in_read_timeout

Директива `kmp_rtmp_in_read_timeout` задаёт длительность ожидания при чтении входящих RTMP-потоков.

Синтаксисkmp_rtmp_in_read_timeout time;
По умолчаниюnone
Контекстstream, stream server
Аргументы1

Описание

Директива kmp_rtmp_in_read_timeout является частью NGINX-модуля Kaltura Media Framework и используется в контексте блоков stream и stream server. Её основная задача — задать максимальную длительность, в течение которой NGINX будет пытаться читать входящие RTMP-потоки, прежде чем соединение будет закрыто по таймауту. Это особенно важно при трансляции в реальном времени, когда входящие потоки могут периодически прерываться или испытывать буферизацию. Настройка этого таймаута позволяет администраторам регулировать, как долго допускать задержки до того, как поток будет считаться неактивным, что в конечном итоге помогает контролировать ресурсы и поддерживать отзывчивость сервиса.

Директива принимает один аргумент, задающий длительность таймаута. Этот аргумент можно указать в секундах, миллисекундах или в других форматах времени, поддерживаемых NGINX, что обеспечивает гибкость конфигурации в зависимости от среды трансляции. Если указанный таймаут истечёт без получения данных, NGINX завершит соединение, что помогает предотвратить потребление системных ресурсов «зависающими» неактивными потоками. Полезно корректировать эту настройку с учётом ожидаемой надёжности входящего потока и сетевых условий.

При внедрении kmp_rtmp_in_read_timeout следует учитывать, что слишком малое значение может привести к преждевременным таймаутам, особенно в менее стабильных сетевых условиях. Напротив, слишком большое значение может привести к неотзывчивости системы, если входящие потоки становятся неактивными в течение длительного времени. Поэтому выбор этого значения должен основываться на реальном тестировании и характеристиках производительности передаваемого медиаконтента.

Пример конфига

stream {
    server {
        listen 1935;

        kmp_rtmp_in_read_timeout 30s;
    }
}

Убедитесь, что указанное значение timeout соответствует стабильности вашей сети, чтобы избежать ненужных разрывов соединения.

Настройка timeout может потребовать дополнительного тестирования, чтобы подобрать оптимальные значения в зависимости от изменяющихся характеристик потоков.

← Ко всем директивам