How Channel Scheduling Works in Tunarr

Updated

Tunarr builds a live TV channel by filling a timeline with programming you choose, then exposing that timeline to Plex, Jellyfin, Emby, or an IPTV player through a spoofed HDHomeRun tuner or generated M3U file. Scheduling is the part that decides what plays in each time slot, in what order, and how filler and breaks fit around your shows. You configure it in the Tunarr web UI under a channel's scheduling tools, and the result is a repeating lineup rather than a one-off playlist.

The scheduling model: channels, slots, and filler

A channel is the container. Inside it, the schedule is a sequence of time slots that reference media from your configured sources (Plex, Jellyfin, Emby, or local files) plus filler content. The slot editor is where you arrange that sequence. Filler is not random noise dropped in arbitrarily: Tunarr has a defined process for how filler is chosen, so the clips and commercials you add follow rules you set rather than being scattered at will.

Two ideas matter for predicting what a viewer sees:

  • The schedule is a loop. Once the lineup is built, it repeats. A viewer tuning in at an arbitrary moment lands wherever the loop happens to be, which is why ordering and slot length shape the experience as much as the content itself.
  • Filler fills the gaps. If a slot's content runs shorter than the slot, filler is used to bridge the difference according to Tunarr's filler-selection rules. This keeps the timeline aligned instead of leaving dead air.

Scheduling modes and what each is for

Tunarr's scheduling tools are built around a few distinct modes. They differ in how much control you keep over order versus how much variety you get automatically.

Mode What it does Best when
Time slots Places programming into defined slots on the timeline You want a predictable, TV-guide-like structure
Cyclic shuffle Rotates through a set of programs in a shuffled cycle You want variety but every item eventually airs before repeating
Block shuffle Groups programming into blocks and shuffles the blocks You want themed chunks (e.g., a block of episodes) that stay together
Mid-roll breaks Inserts breaks within programming You want a commercial-style rhythm inside shows

The practical distinction: cyclic shuffle guarantees coverage of the whole set before it loops, while block shuffle preserves internal grouping and varies the order of the groups. Use time slots when the schedule itself is the point; use shuffle modes when you care about rotation fairness or block variety more than exact clock positions.

Actions that reshape an existing schedule

Beyond the modes, Tunarr provides two schedule-level actions:

  • Replicate — duplicates a schedule arrangement, useful when you want a similar lineup on another channel or as a starting point you then edit.
  • Consolidate — tightens the schedule, removing gaps so programming sits back-to-back.

These are editing operations on the lineup you have already built, not separate scheduling philosophies. Reach for replicate when you are cloning a working channel, and consolidate when your timeline has holes you want closed.

How scheduling connects to the rest of Tunarr

Scheduling sits between your media and your viewers:

  1. Media sources (Plex, Jellyfin, Emby, local) supply the movies, shows, other video, music, and music videos.
  2. Library and custom shows / smart collections define the pools of content the scheduler draws from.
  3. Scheduling arranges those pools into slots, applying shuffle modes and breaks, with filler chosen per Tunarr's rules.
  4. Channel properties (flex, EPG, transcoding, watermarks) shape how the finished channel is presented.
  5. Clients — Plex, Jellyfin, Emby via the spoofed tuner, or any third-party IPTV app via M3U — play the result.

So a scheduling change is really a change to what content the channel pulls and in what order, and it only becomes visible to viewers once the channel is consumed through one of those clients.

A concrete example

Suppose you have a library of a sitcom's episodes and want a channel that feels like a classic rerun network. You would add the show to the channel's programming, then choose cyclic shuffle so every episode airs before any repeats, and enable mid-roll breaks so each episode is interrupted by filler the way broadcast TV does it. If you later want a second channel with the same structure but different shows, replicate the schedule and swap the programming. If the timeline shows gaps between episodes, consolidate to close them.

Common points to watch

  • Filler rules determine gaps, not guesswork. If a slot looks wrong, check how filler is being chosen before assuming the schedule itself is broken.
  • Shuffle mode changes fairness. Cyclic shuffle and block shuffle produce different repeat behavior; pick based on whether you want full-set coverage or block variety.
  • The schedule is a loop, so "start time" is relative. Viewers join mid-loop, which is normal for this kind of virtual channel.
  • Nothing reaches viewers until a client is connected. Scheduling edits are only observable through Plex, Jellyfin, Emby, or an M3U-based player.

For setup specifics and the exact controls, the Tunarr documentation's Scheduling section (covering Concepts, Slot Editor, Time Slots, Cyclic Shuffle, Block Shuffle, Mid-Roll Breaks, Replicate, and Consolidate) is the authoritative reference.