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:
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:¶
- Media Sources → Local → Add
- Configure:
- Name:
Cowboy Bebop Bumps - Path:
/media/toonami/organized/cowboy-bebop - Media Kind: Other Videos
- Click Add Library
- Click Scan Library to import
Recommended Libraries to Add:¶
| 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:¶
- Lists → Smart Collections → Add
- Configure:
- Name:
Cowboy Bebop Bumps - Search Query:
library_name:"[bumps] Cowboy Bebop" - 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):¶
- Lists → Collections → Add
- Name:
Cowboy Bebop Episodes - Add Items → Search for Cowboy Bebop → Add all episodes
- 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:¶
- Lists → Filler Presets → Add
- Configure:
- Name:
CB Pre-Roll - Collection:
Cowboy Bebop Bumps - Filler Kind: Pre-roll
- Filler Mode: Count
- Count: 1
- Save
Create a Post-Roll Preset:¶
- Lists → Filler Presets → Add
- Configure:
- Name:
CB Post-Roll - Collection:
Cowboy Bebop Bumps - Filler Kind: Post-roll
- Filler Mode: Count
- Count: 2
- Save
Create a Tail Preset (for padding):¶
- Lists → Filler Presets → Add
- Configure:
- Name:
Generic Tail Filler - Collection:
Generic ToonamiorAdult Swim Bumps - Filler Kind: Tail
- Filler Mode: Pad
- Pad to Minutes: 30 (hits :00 or :30)
- 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:¶
- Schedules → Add Schedule
- Configure:
- Name:
Toonami Block - Keep Multi-Part Episodes Together: Yes
- Shuffle Schedule Items: No (for ordered lineup)
- Save
- 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.
- Channels → Add Channel
- Configure:
- Number: 100
- Name: Toonami
- Streaming Mode: HLS Direct (no transcoding)
- FFmpeg Profile: Default
- Save
- 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¶
- Channels → Click your channel → Preview
- Or use the M3U URL in any IPTV player:
http://10.89.97.50:8409/iptv/channels.m3u
Add to Jellyfin:¶
- Dashboard → Live TV → Add Tuner
- Tuner Type: M3U
- URL:
http://10.89.97.50:8409/iptv/channels.m3u - 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¶
- Use Pre-roll for "Coming up next" bumps
- Use Post-roll for "We'll be right back" bumps
- 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¶
- Verify library was scanned (Media Sources → Scan)
- Check collection has items (Lists → Collections → View items)
- Ensure filler preset is attached to schedule item
Channel Shows "Offline"¶
- Check schedule has items
- Verify playout is attached to channel
- 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 |