Skip to main content

The Pipeline

When you hit play in Stremio, a lot happens in under a second.
1

Stremio sends a stream request

Stremio asks your AIOStreams instance: “give me streams for Breaking Bad S01E01.” AIOStreams receives the IMDB ID and the query type (movie, series episode, anime).
2

AIOStreams queries scrapers in parallel

All enabled scrapers fire simultaneously — Comet, MediaFusion, TorBox, Zilean, Knaben, and any others you have configured. Each returns a raw list of streams: torrents, Usenet NZBs, debrid links.Without Core Builds, this already produces 50–200+ results in no particular order.
3

ESEs remove junk

Excluded Stream Expressions remove unusable or lower-value streams before ranking starts: CAM recordings, YouTube rips, 3D streams, bad NZBs, foreign-language-only streams, bad dual-audio groups, low-seeder torrents, and more. Matching episode packs are treated as an availability-safe fallback: they are hidden only after three playable standalone episode results survive the rest of the filter stack.The exact ESE count varies by template family. Lite variants remove selected quality gates for broader coverage.
4

ISEs boost priority streams

Included Stream Expressions pin certain streams to the top of the sorted list regardless of ranking. Core Builds ISEs boost: streams from your library (continue watching), cached streams, REPACK/PROPER releases, and SeaDex-verified anime.
5

PSEs score everything else

Preferred Stream Expressions assign a score to each remaining stream. Core Builds uses IQR Tukey fence PSEs — they compare each stream’s bitrate against the statistical distribution of all streams for that title, then rank within the “normal” window highest.Streams are scored into tiers: S (REMUX/high-bitrate), A, B, C, D (low-bitrate/low-quality).
6

Deduplication

Identical files from different scrapers are merged into a single result. Core Builds uses aggressive smart deduplication with tiebreakers: seeder count (torrents) and age (Usenet).
7

Formatter renders the display

Each stream’s metadata is formatted into the title and description lines you see in Stremio. Core Builds formatters show: resolution, codec, HDR type, audio, file size, bitrate, cache status, release group, and more.
8

Sorted results returned to Stremio

Stremio receives the final list — typically 10–20 clean, ranked results. The best option for your setup is at the top.

What Core Builds Adds

Vanilla AIOStreams with default settings returns raw, unsorted results. Core Builds layers a full quality stack on top:

IQR Tukey Fence PSEs

Bitrate-based ranking using real statistics across all streams for a title — not hardcoded cutoffs. Adapts to thin libraries and new releases via the pow() decay window.

Core Builds Expression Layer

Up to 31 ESEs remove junk before ranking ever starts. 5 ISEs pin library, cached, REPACK, and SeaDex streams to the top. IQR Tukey fence PSEs score everything else by bitrate percentile against real peers.

Release Group Scoring

107 inline ranked patterns per template (score range −200 to +100) across 10 tiers, plus 176 additional patterns synced from Vidhin05’s release database. Elite groups (FraMeSToR, FLUX, BHDStudio) surface above generic encodes automatically.

Device Profiles

Samsung TV, Apple TV, Fire Stick templates hard-exclude codecs and HDR formats the device can’t play — no more silent playback failures from AV1 or DV on unsupported hardware.

Usenet Priority

Cached TorBox Usenet NZBs are boosted above standard debrid results via a dedicated PSE. The Boost Cached Usenet PSE ensures Usenet results never silently sort below torrents.

pow() Age Decay

Bitrate windows for new releases expand over time using an exponential decay function — ±40% tolerance on day 0, narrowing to ±2% by day 60 as more encodes appear.

PSE / ESE / ISE at a Glance

ESEs run first, then ISEs, then PSEs. A stream matched by an ESE never reaches PSE scoring.

Why Lite Returns More Results

Lite templates remove selected quality-gate ESEs (low bitrate, low seeders, upscaled 4K, bad BluRay encodes, bad dual audio, indexer diversity caps). Safety filters remain for CAM, YouTube, foreign-language-only streams, and bad NZBs. Episode packs use the same availability-safe fallback policy rather than being hard-killed. More results come through — but without quality filtering, some bad encodes will appear. Use Lite when: your library is thin, you’re on a shared host, or you’re debugging why a specific title returns no results on the standard template. Expression Layer deep-dive for the full technical reference