kmp_rtmp_out_timeout
Директива `kmp_rtmp_out_timeout` задаёт продолжительность таймаута для исходящих RTMP-соединений в Kaltura Media Framework.
Описание
Директива kmp_rtmp_out_timeout используется в контексте блока stream или stream server в NGINX для определения максимальной продолжительности, в течение которой исходящее RTMP (Real-Time Messaging Protocol) соединение может оставаться открытым при отсутствии передачи данных. Установка этого таймаута позволяет гарантировать, что неактивные соединения не будут сохраняться бесконечно, что помогает эффективно управлять ресурсами и предотвращает возможные сбои сервиса из-за зависших соединений.
Директива принимает один аргумент, задающий длительность таймаута в секундах. Например, установка kmp_rtmp_out_timeout 30; означает, что если в течение 30 секунд по исходящему RTMP-соединению не будут переданы данные, соединение будет автоматически закрыто. Это поведение особенно полезно в сценариях живой трансляции, где поддержание оптимального числа соединений критично для производительности, а неожиданные или злонамеренные задержки могут ухудшить общую доступность сервиса.
По истечении таймаута NGINX аккуратно завершит соединение, освобождая ресурсы для других запросов или клиентов. Важно помнить, что этот таймаут применяется ко всем исходящим RTMP-соединениям, обрабатываемым модулем, обеспечивая единообразную обработку неактивных соединений в медиапотоке. Поэтому при выборе этого значения следует тщательно взвешивать поддержку соединений для ожидаемой активности и освобождение ресурсов при простое.
Пример конфига
stream {
server {
listen 1935;
kmp_rtmp_out_timeout 60;
}
}Установка слишком малого времени ожидания может привести к разрыву легитимных соединений, особенно при потоках, работающих длительное время.
Если директива не задана, исходящие соединения могут зависнуть бесконечно, что приведёт к исчерпанию ресурсов.