on_done
Директива 'on_done' в модуле NGINX RTMP используется для указания функции обратного вызова, которая должна выполняться, когда прямая трансляция завершила публикацию.
Описание
Директива 'on_done' позволяет определить обратный вызов, который срабатывает при завершении потока в приложениях для прямого вещания. Это особенно полезно для выполнения пользовательских операций, таких как уведомление внешнего сервиса, запись в логи или освобождение ресурсов после окончания трансляции. Связанный путь выполнения интегрирован в жизненный цикл потока, что гарантирует выполнение указанного обратного вызова только после того, как RTMP-сессия корректно завершит процесс публикации.
При использовании этой директивы необходимо указать допустимый аргумент, который обычно представляет собой URL или команду для выполнения. Директива встраивает эту функциональность в обработку завершения потока модулем RTMP, позволяя расширять поведение после потока с помощью пользовательских действий. Важно тщательно управлять зависимостями, особенно при взаимодействии с внешними системами на основе событий жизненного цикла трансляции.
Пример конфига
rtmp {
server {
application live {
live on;
on_done "http://example.com/stream_done";
}
}
}Убедитесь, что ваша команда или URL для обратного вызова доступны и имеют правильный формат, так как любые ошибки в них могут привести к молчаливым сбоям.
Эта директива чувствительна к контексту; её использование в неправильном контексте может привести к ошибкам конфигурации NGINX.
Помните, что указанная команда должна корректно работать при запуске без обычной интерактивной сессии.