Skip to content

ErsatzTV Channel Creation Guide

Complete guide to creating custom TV channels with Toonami bumps as filler.

Prerequisites

  • ErsatzTV running at https://ersatztv.bogocat.com
  • Jellyfin connected (Settings → Media Sources → Jellyfin)
  • Toonami bumps organized at /media/toonami/organized/

Concept Overview

ErsatzTV uses a hierarchy of components:

Media Sources → Collections → Filler Presets → Schedules → Channels

Key Rule: You cannot schedule individual files - everything must be in a Collection first.

Component What It Is Example
Media Source Where content comes from Jellyfin, Local folder
Collection Group of media items "Cowboy Bebop Episodes"
Filler Preset Rules for inserting bumps "Play 2 bumps after each episode"
Schedule Ordered playlist with timing "CB → Naruto → FMA, loop forever"
Channel The actual stream output Channel 100: Toonami

Step 1: Add Bump Libraries as Media Sources

For each show's bumps, add a local media source.

In ErsatzTV UI:

  1. Media SourcesLocalAdd
  2. Configure:
  3. Name: Cowboy Bebop Bumps
  4. Path: /media/toonami/organized/cowboy-bebop
  5. Media Kind: Other Videos
  6. Click Add Library
  7. Click Scan Library to import
Name Path Count
Cowboy Bebop Bumps /media/toonami/organized/cowboy-bebop 113
Naruto Bumps /media/toonami/organized/naruto 87
FMA Bumps /media/toonami/organized/fma 112
Bleach Bumps /media/toonami/organized/bleach 56
Inuyasha Bumps /media/toonami/organized/inuyasha 126
Generic Toonami /media/toonami/organized/generic 6408
Adult Swim Bumps /media/toonami/organized/adult-swim 197

Step 2: Create Collections

Collections group media items for scheduling.

Types of Collections:

Type Description Use Case
Manual Hand-picked items Curated best-of playlists
Smart Auto-updates from search "All items from Cowboy Bebop Bumps library"
Multi Combines other collections "All Toonami + Adult Swim bumps"

Create a Smart Collection for Bumps:

  1. ListsSmart CollectionsAdd
  2. Configure:
  3. Name: Cowboy Bebop Bumps
  4. Search Query: library_name:"[bumps] Cowboy Bebop"
  5. Save

Search Query Syntax

Smart Collections use ErsatzTV's search syntax:

Field Example Description
library_name library_name:"[bumps] Cowboy Bebop" Match by library name
title title:intro Match title (default field)
genre genre:anime Match genre tag
released_inthelast released_inthelast:30 days Recently released
added_inthelast added_inthelast:7 days Recently added
minutes minutes:<5 Duration filter
height height:>=1080 Resolution filter

Operators: Use quotes for exact phrases, AND/OR for logic, * for wildcards.

Example queries:

library_name:"[bumps] Cowboy Bebop"           # All bumps from specific library
library_name:"[bumps]*" AND title:intro       # All intro bumps across libraries
minutes:<1 AND library_name:"[bumps]*"        # Short bumps only

Create Collections for Shows (from Jellyfin):

  1. ListsCollectionsAdd
  2. Name: Cowboy Bebop Episodes
  3. Add Items → Search for Cowboy Bebop → Add all episodes
  4. Save

Tip: Smart Collections auto-update when you add new content. Manual Collections are fixed.


Step 3: Create Filler Presets

Filler presets define how bumps are inserted around your content.

Important: The filler type (pre-roll, post-roll, etc.) is defined in the preset, not on the clips themselves. You can use the same collection for multiple presets with different types.

Filler Kinds:

Kind When It Plays Best For
Pre-roll Before each episode Show intro bumps ("Coming up next...")
Mid-roll Between chapters Commercial breaks (if content has chapters)
Post-roll After each episode Outro bumps ("We'll be right back")
Tail After all content, before next schedule slot Padding to hit :00/:30 marks
Fallback Loops to fill dead air Emergency filler

Note: Mid-roll only works if your content has chapter markers. Some media servers (like Emby) auto-generate chapters every 5 minutes.

Filler Modes:

Mode Behavior Example
Count Play exactly N items "Play 2 bumps"
Duration Play items for X minutes "Play 3 minutes of bumps"
Pad Pad until clock hits interval "Pad to nearest 30 minutes"

Create a Pre-Roll Preset:

  1. ListsFiller PresetsAdd
  2. Configure:
  3. Name: CB Pre-Roll
  4. Collection: Cowboy Bebop Bumps
  5. Filler Kind: Pre-roll
  6. Filler Mode: Count
  7. Count: 1
  8. Save

Create a Post-Roll Preset:

  1. ListsFiller PresetsAdd
  2. Configure:
  3. Name: CB Post-Roll
  4. Collection: Cowboy Bebop Bumps
  5. Filler Kind: Post-roll
  6. Filler Mode: Count
  7. Count: 2
  8. Save

Create a Tail Preset (for padding):

  1. ListsFiller PresetsAdd
  2. Configure:
  3. Name: Generic Tail Filler
  4. Collection: Generic Toonami or Adult Swim Bumps
  5. Filler Kind: Tail
  6. Filler Mode: Pad
  7. Pad to Minutes: 30 (hits :00 or :30)
  8. Save

Example: Same Collection, Different Presets

You can create multiple presets from the same bump collection:

Preset Name Collection Kind Mode Result
CB Pre-Roll Cowboy Bebop Bumps Pre-roll Count: 1 1 bump before episode
CB Post-Roll Cowboy Bebop Bumps Post-roll Count: 2 2 bumps after episode
CB Tail Cowboy Bebop Bumps Tail Pad: 30 Fill to :00 or :30

All three presets pull from the same "Cowboy Bebop Bumps" collection - the preset determines when/how they play, not the clips.


Step 4: Create a Schedule

Schedules define the order and timing of content.

Schedule Types:

Type Description Use Case
Classic Simple ordered playlist Basic channels, 24/7 shuffle
Block Time-based blocks with templates "Anime 6pm-10pm, Movies 10pm-2am"

Create a Classic Schedule:

  1. SchedulesAdd Schedule
  2. Configure:
  3. Name: Toonami Block
  4. Keep Multi-Part Episodes Together: Yes
  5. Shuffle Schedule Items: No (for ordered lineup)
  6. Save
  7. Click Edit Schedule Items

Add Schedule Items:

Click Add Schedule Item for each show:

Item 1: Cowboy Bebop

Setting Value
Collection Type Collection
Collection Cowboy Bebop Episodes
Playback Order Shuffle
Playout Mode One (play 1 episode, then next item)

Then attach filler: - Pre-roll: CB Pre-Roll - Post-roll: CB Post-Roll

Item 2: Naruto Shippuden

Setting Value
Collection Naruto Shippuden Episodes
Playback Order Season/Episode (sequential)
Playout Mode One

Attach Naruto filler presets.

Item 3: FMA Brotherhood

Setting Value
Collection FMA Brotherhood Episodes
Playback Order Season/Episode
Playout Mode One

Attach FMA filler presets.

Playback Order Options:

Order Behavior
Chronological By release date
Random Random (may repeat before all played)
Shuffle Random, no repeats until all played
Shuffle In Order Groups shuffled, internal order preserved
Season/Episode S01E01 → S01E02 → etc.

Playout Mode Options:

Mode Behavior
One Play 1 item, move to next schedule item
Multiple Play N items before moving on
Duration Play items for X time
Flood Play continuously until manually stopped

Step 5: Create a Channel

Channels are the actual streams.

  1. ChannelsAdd Channel
  2. Configure:
  3. Number: 100
  4. Name: Toonami
  5. Streaming Mode: HLS Direct (no transcoding)
  6. FFmpeg Profile: Default
  7. Save
  8. Click Edit Playout → Attach your schedule

Streaming Modes:

Mode Description When to Use
HLS Segmenter Transcodes, best compatibility When you need watermarks or transcoding
HLS Direct No transcoding, low CPU Most cases, low-power systems
MPEG-TS HDHomeRun compatible Hardware tuner clients

Step 6: Test Your Channel

  1. Channels → Click your channel → Preview
  2. Or use the M3U URL in any IPTV player:
  3. http://10.89.97.50:8409/iptv/channels.m3u

Add to Jellyfin:

  1. DashboardLive TVAdd Tuner
  2. Tuner Type: M3U
  3. URL: http://10.89.97.50:8409/iptv/channels.m3u
  4. Add EPG: http://10.89.97.50:8409/iptv/xmltv.xml

Example: Complete Toonami Saturday Channel

Collections Needed:

Collection Source
Cowboy Bebop Episodes Jellyfin
Naruto Shippuden Episodes Jellyfin
FMA Brotherhood Episodes Jellyfin
Attack on Titan Episodes Jellyfin
Cowboy Bebop Bumps Local
Naruto Bumps Local
FMA Bumps Local
Generic Toonami Local

Filler Presets Needed:

Preset Collection Kind Mode
CB Pre-Roll Cowboy Bebop Bumps Pre-roll Count: 1
CB Post-Roll Cowboy Bebop Bumps Post-roll Count: 2
Naruto Pre-Roll Naruto Bumps Pre-roll Count: 1
Naruto Post-Roll Naruto Bumps Post-roll Count: 2
FMA Pre-Roll FMA Bumps Pre-roll Count: 1
FMA Post-Roll FMA Bumps Post-roll Count: 2
Generic Tail Generic Toonami Tail Pad: 30 min

Schedule: Toonami Block

Order Show Playback Playout Pre-Roll Post-Roll
1 Cowboy Bebop Shuffle One CB Pre CB Post
2 Naruto Shippuden Season/Ep One Naruto Pre Naruto Post
3 FMA Brotherhood Season/Ep One FMA Pre FMA Post
4 Attack on Titan Season/Ep One Generic Generic

Channel: Toonami (100)

  • Streaming: HLS Direct
  • Schedule: Toonami Block
  • Loops forever

Tips & Tricks

Authentic Toonami Feel

  1. Use Pre-roll for "Coming up next" bumps
  2. Use Post-roll for "We'll be right back" bumps
  3. Use Tail with Pad mode to hit :00 or :30 marks like real TV

Shuffle vs Sequential

  • Shuffle for shows you've seen (variety)
  • Season/Episode for ongoing series (continuity)

Multiple Shows per Block

Use Playout Mode: Multiple with Count: 2-3 to play several episodes of one show before switching.

24/7 Channel

  • Create schedule with Shuffle Schedule Items: Yes
  • Use Playout Mode: One for each item
  • Channel loops forever through shuffled content

Troubleshooting

Bumps Not Showing

  1. Verify library was scanned (Media Sources → Scan)
  2. Check collection has items (Lists → Collections → View items)
  3. Ensure filler preset is attached to schedule item

Channel Shows "Offline"

  1. Check schedule has items
  2. Verify playout is attached to channel
  3. Check FFmpeg logs for errors

Wrong Episode Order

  • Use Playback Order: Season/Episode for sequential
  • Enable Keep Multi-Part Episodes Together

Quick Reference

Paths in Container

Content Path
TV Shows /media/tv
Movies /media/movies
All Bumps (flat) /media/toonami/Toonami_Bumps
Organized Bumps /media/toonami/organized/<show>

URLs

Purpose URL
ErsatzTV UI https://ersatztv.bogocat.com
Direct Access http://10.89.97.50:8409
M3U Playlist http://10.89.97.50:8409/iptv/channels.m3u
EPG Guide http://10.89.97.50:8409/iptv/xmltv.xml

Sources