---
id: friend-group-tv-channel-playout
title: Friend group TV channel playout
version: 1
published: '2026-10-27'
updated: '2026-10-27'
author: Hiina
produced-by: Claude deep-research run with citation checking
model: claude-opus-5-5
sources-through: '2026-10-26'
status: current
takeaway: For a small friend group's pseudo-TV channel, run ErsatzTV Next standalone
  behind a small custom scheduler and request-queue resolver; it idles when unwatched.
  For audio only, use AzuraCast 0.24.0.
topics:
- streaming
- media-playout
sections: 8
---

Index of everything on this site: https://ai.hiina.space/index.md

# Friend group TV channel playout

- Author: Hiina (hiina@hiina.space)
- Produced by: Claude deep-research run with citation checking
- Version: 1 · published 2026-10-27 · updated 2026-10-27 · status: current
- Canonical: https://ai.hiina.space/reports/friend-group-tv-channel-playout.md (this version as one file: https://ai.hiina.space/reports/friend-group-tv-channel-playout/v1.md)
- Takeaway: For a small friend group's pseudo-TV channel, run ErsatzTV Next standalone behind a small custom scheduler and request-queue resolver; it idles when unwatched. For audio only, use AzuraCast 0.24.0.
- Topics: streaming, media-playout
- Model: claude-opus-5-5
- Sources through: 2026-10-26
- Whole report as one file (30 KB; fetch tools may truncate it, so prefer the section pages below or download with curl): https://ai.hiina.space/reports/friend-group-tv-channel-playout/full.md

What is the best way to run a shared, always-available TV channel for a small friend group, on top of an existing self-hosted HLS streaming setup built on MediaMTX? The channel should mix scheduled anime episodes with filler (openings and endings, old commercials, running-gag clips), let friends request what plays next, and not burn CPU encoding video when nobody is watching. This report compares the open-source playout tools as of late October 2026 on scheduling, request queues, idle behaviour and browser output, and sketches the small glue service that every option still needs.

## Contents

- [1. Summary](https://ai.hiina.space/reports/friend-group-tv-channel-playout/01-summary.md) (included below)
- [2. Five tools matter, and only two idle natively](https://ai.hiina.space/reports/friend-group-tv-channel-playout/02-five-tools-matter-and-only-two-idle.md) (5 KB)
- [3. Three ways to stop streaming into the void](https://ai.hiina.space/reports/friend-group-tv-channel-playout/03-three-ways-to-stop-streaming-into-the.md) (7 KB)
- [4. The request queue is a custom resolver](https://ai.hiina.space/reports/friend-group-tv-channel-playout/04-the-request-queue-is-a-custom-resolver.md) (6 KB)
- [5. Audio is solved by AzuraCast 0.24.0](https://ai.hiina.space/reports/friend-group-tv-channel-playout/05-audio-is-solved-by-azuracast-0-24.md) (1 KB)
- [6. What I could not confirm](https://ai.hiina.space/reports/friend-group-tv-channel-playout/06-what-i-could-not-confirm.md) (1 KB)
- [7. Conclusion](https://ai.hiina.space/reports/friend-group-tv-channel-playout/07-conclusion.md) (1 KB)
- [8. Sources](https://ai.hiina.space/reports/friend-group-tv-channel-playout/08-sources.md) (4 KB)

## 1. Summary

The best fit in October 2026 is **ErsatzTV Next running standalone, fed by a small custom scheduler and queue service**. Next is a Rust streaming engine. It takes a JSON playout, serves each channel as HLS that a browser can play, starts a channel only when someone requests its playlist, and stops it after **90 seconds without a client**. Its `dynamic` playout item asks an external HTTP endpoint "what plays now?" at playback time, which is the only documented request-queue hook among the video tools. For a no-code option, use **Tunarr with on-demand mode**. It pauses the channel's position when nobody watches, but it has no request queue. For a setup that would rather stay on an existing MediaMTX pipeline, a **`runOnDemand` wrapper script over a pre-normalized library** gets you most of the way with roughly 70 seconds of wasted remuxing after the last viewer leaves. The cheapest option of all serves a computed live m3u8 from pre-segmented files, so nothing runs at view time. No project ships a finished "community TV with request queue and auto-fill". The glue in every option is the same small piece: a queue store, a Discord or web front end, and a resolver that picks the next clip. For audio only, **AzuraCast 0.24.0** (released 25 Oct 2026) now has request-queue playlists and does the whole job out of the box.

Next section: https://ai.hiina.space/reports/friend-group-tv-channel-playout/02-five-tools-matter-and-only-two-idle.md

---

Text licensed CC BY 4.0 (attribution: Hiina, ai.hiina.space). Source: https://github.com/hiinaspace/ai-hiina-space
