Skip to content

Recording and Storage

Nik Pottbecker edited this page Oct 12, 2026 · 1 revision

Recording and storage

Server-side recording is an optional safety copy. It is disabled by default and is not a substitute for monitoring the live program output.

Enable recording

macOS:

"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" recording enable

Linux:

sudo irl-serverctl recording enable

This changes RECORDING_ENABLED atomically, creates the recording directory and restarts both services. Do not enable it mid-stream unless a short interruption is acceptable.

Inspect recording state

# macOS
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" recording status
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" recording list

# Linux
sudo irl-serverctl recording status
sudo irl-serverctl recording list

The status command shows format, segment duration, retention and directory. The list command prints local .mp4 and .ts paths; do not paste sensitive local paths into public issues.

Disable recording

# macOS
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" recording disable

# Linux
sudo irl-serverctl recording disable

Disabling recording stops future writes and restarts the services. Existing files are intentionally not deleted.

Locations

Platform Directory
macOS ~/Library/Application Support/IRL Server/state/recordings
Linux /var/lib/irl-server/recordings

Files are grouped under the live path and named by timestamp.

fMP4 or MPEG-TS

  • fmp4 is the default. It is efficient for segmented recordings and produces .mp4 files.
  • mpegts produces .ts files and can be more tolerant of abrupt interruption.

Change RECORDING_FORMAT only while stopped, then restart services.

Retention

Examples:

# Keep indefinitely
RECORDING_DELETE_AFTER=0s

# Keep one day
RECORDING_DELETE_AFTER=1d

# Keep seven days
RECORDING_DELETE_AFTER=7d

Automatic retention is performed by MediaMTX. Always verify available space before a long production.

Storage warning levels

The dashboard and irl-serverctl status report free space, recording count and aggregate size. Storage scanning is cached for 30 seconds.

Level Threshold
Warning Less than 10% free, or less than 5 GiB on disks at least 50 GiB
Critical Less than 3% free or less than 1 GiB

The software warns but never deletes files outside configured MediaMTX retention. If space is critical, stop recording first, then archive or remove only recordings you have verified elsewhere.

Safe production checklist

  1. Run irl-serverctl status.
  2. Confirm storage is ok and estimate expected data volume.
  3. Enable recording before the event.
  4. Send a short test stream.
  5. Confirm a non-empty segment appears.
  6. Check that it plays with video and audio.
  7. After production, disable recording before copying files.
  8. Verify the copy before deleting local segments.

Clone this wiki locally