on_record_done

Директива `on_record_done` позволяет указать функцию обратного вызова, которая будет выполнена при завершении записи потока.

Синтаксисon_record_done command;
По умолчаниюnone
Контекст
Аргументы1

Описание

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

Параметр, передаваемый в on_record_done, должен быть допустимой исполняемой командой или скриптом, к которому NGINX имеет доступ; команда будет выполняться в том же контексте, что и поток. Убедитесь, что команда корректно работает в рамках прав и окружения, заданных NGINX, поскольку неправильная конфигурация может привести к тому, что команда не выполнится. Эта возможность повышает гибкость управления записанными потоками за счёт интеграции внешних инструментов обработки, позволяя автоматизировать рабочие процессы при работе с медиа.

Для использования директивы on_record_done разместите её в соответствующем контексте управления потоками, например внутри блока application, который обрабатывает RTMP-трансляции. Директива будет применяться ко всем завершённым записям в этом контексте, помогая администраторам эффективно и рационально управлять записями.

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

application live {
    live on;
    record all;
    record_path /tmp/recordings;
    on_record_done /usr/local/bin/post_process_script.sh;
}

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

Если команда имеет зависимости (например, скрипты или исполняемые файлы), убедитесь, что они доступны пользователю NGINX.

Использование сложных команд без надлежащей обработки вывода может привести к непредвиденным результатам или ошибкам. Обратите внимание на проблемы с буферизацией вывода, которые могут повлиять на выполнение скриптов.

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