Rules Engine Overview
How Nomad Media uses a unified rule-based configuration system to automatically trigger transcoding, proxy generation, archiving, and AI processing.
Rules Engine Overview
Every processing decision in Nomad Media — proxy generation, transcoding, AI enrichment, archiving — is governed by a single unified rules engine. Once rules are configured, the system runs fully unattended: no manual steps are required when new content arrives.
How It Works
When a file lands in your S3 bucket, Nomad Media evaluates the configured rules for each processor and decides whether that processor should run. Rules can target content in two ways:
- By folder — using URL path prefix matching (
urlMatches/urlExcludes) - By asset properties — using expression-based conditions evaluated against the file's metadata
These two targeting methods can be combined within a single rule for precise control.
Folder Targeting
The simplest form of a rule is a folder match. A rule with urlMatches: ["content/radio/"] applies only to files in that folder and its subfolders. Specific subfolders can be excluded using urlExcludes.
This makes it straightforward to apply different processing behavior to different parts of your library. Examples:
- Apply AI transcription only to the
content/published/folder - Apply Glacier archiving rules to
content/raw/but excludecontent/raw/active/ - Generate HLS streaming renditions for
content/video/broadcast/but notcontent/video/rough-cuts/
Expression-Based Conditions
Rules can also evaluate properties of the asset itself — such as resolution, bitrate, duration, file extension, or media type — using a simple expression syntax.
videoWidth > 1920 or videoHeight > 1080
videoBitRate > 6291456
fileExtension == '.mp4'
audioChannels > 2
contentLength > 5242880
This allows the same folder to contain multiple asset types while only triggering specific processing for the right files. For example, a single ingest folder can contain both video and audio files, with video proxying triggered on video files and audio transcription triggered on audio files independently.
Rules Are Additive
Multiple rules can exist for the same processor, each targeting different folders or conditions. When a new file arrives, the system evaluates all active rules and runs every processor whose conditions are satisfied.
Rules can be added or updated at any time — including retroactively. When you add a new rule (for example, to enable AI processing on a folder that previously had none), you can trigger a reprocess on that folder and the system will add the missing outputs without regenerating anything that already exists.
Everything Uses the Same Engine
The same rule structure governs all of Nomad's processing capabilities:
| Capability | Controlled by rules |
|---|---|
| Video proxy generation (MediaConvert) | ✓ |
| Audio proxy generation | ✓ |
| Image proxy generation | ✓ |
| AI image analysis | ✓ |
| AI audio transcription | ✓ |
| AI video analysis | ✓ |
| Media archiving (Glacier) | ✓ |
| Dynamic image rendering (ImageKit) | ✓ |
| Custom processors | ✓ |
Nothing in the system is a global on/off switch for the entire library. Every capability can be scoped to specific folders and file types.
Related Pages
- Turning On/Off Asset Processors and Dependencies — full JSON configuration reference for processor rules
- Proxy Generation Overview — how proxy rules are configured
- AI Enablement Guide — scoping AI processors by folder and file type
- Phased AI Rollout — how to stage AI by folder, tier, and test environment
- Media Archiving & Storage Lifecycle — archiving rules configuration
- Rule Syntax Reference — complete expression syntax documentation
