record
Директива `record` в модуле NGINX RTMP позволяет записывать живые трансляции для хранения или последующего воспроизведения.
Описание
Директива record является частью модуля NGINX RTMP и используется внутри блока application для управления поведением записи потоков. Она принимает один или несколько аргументов, которые определяют, как и когда потоки должны записываться. Наиболее распространённые значения этой директивы включают такие опции, как all, want и off. При значении all директива записывает все опубликованные потоки, тогда как want записывает только при явном запросе. Записи могут сохраняться в разных форматах и храниться по указанному пути, что позволяет впоследствии извлекать их или воспроизводить.
В сочетании с директивой record_path, которая указывает каталог для хранения записанных файлов, record бесшовно интегрируется в потоковый рабочий процесс. Её также можно настроить с опциями, такими как record_unique, которая добавляет уникальный идентификатор (например, метку времени) к файлам записи, предотвращая перезапись нескольких записей. Это особенно полезно в сценариях живых трансляций, когда требуется сохранять уникальные записи для различных событий или сессий. При правильном использовании это может улучшить возможности управления контентом и архивирования для стриминговых сервисов.
Пример конфига
application live {
live on;
record all;
record_path /tmp/recordings;
record_unique on;
}Убедитесь, что директория record_path существует и имеет правильные права доступа, позволяющие NGINX записывать файлы.
Неправильная конфигурация директивы record может привести к непреднамеренному перезаписыванию файлов записи, если при публикации нескольких потоков не используется record_unique.
Учтите использование дискового пространства при записи нескольких потоков в течение длительного времени, так как это может быстро заполнить хранилище.