exec_play_done
Выполняет указанные внешние команды/скрипты при завершении воспроизведения в RTMP-приложении.
Описание
Директива exec_play_done в модуле NGINX RTMP позволяет задать внешние команды или скрипты, которые будут выполняться после завершения воспроизведения потока. Это особенно полезно для интеграции с другими процессами, такими как ведение логов, уведомления, обработка данных или любые пользовательские рабочие процессы, которые должны быть запущены после окончания сессии воспроизведения медиа.
Директива принимает один или несколько аргументов — ожидаются пути к исполняемым файлам или скриптам, которые нужно запустить. Эти команды будут выполняться в контексте рабочего процесса NGINX, обрабатывающего поток, что обеспечивает бесшовную интеграцию с функциональностью вашего сервера. Важно учитывать права доступа к этим скриптам, так как рабочему процессу NGINX должны быть предоставлены необходимые разрешения для их выполнения. Кроме того, следует убедиться, что внешняя команда не блокирует рабочий процесс NGINX слишком долго, чтобы поддерживать оптимальную производительность сервера.
Помните, что поскольку команды выполняются в контексте сервера, внутри скриптов может потребоваться корректная обработка ошибок и проверка параметров, чтобы избежать ухудшения производительности NGINX или появления нежелательного поведения.
Пример конфига
application live {
live on;
exec_play_done /usr/local/bin/cleanup_script.sh;
}Убедитесь, что внешние команды доступны для выполнения пользователем NGINX.
Остерегайтесь долго выполняющихся команд, которые могут блокировать рабочие процессы NGINX.
Всегда проверяйте входные данные, чтобы избежать уязвимостей инъекции команд.