Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is Tunarr?
Tunarr is a self-hosted tool that builds live TV channels from media already in your own library. It draws on Plex, Jellyfin, Emby, or local folders, and you configure channels, programs, filler and settings in its web interface. You then watch the result either by adding Tunarr's "spoofed" HDHomeRun tuner to Plex, Jellyfin or Emby, or by loading its generated M3U files into a third-party IPTV player. It is a fork of dizqueTV that grew into a near-complete rewrite, with stated goals of a modern backend and frontend, better stability and performance, a cleaner UI, and new features.
Who it suits
- Home-lab users with an existing media server who want a scheduled, always-on channel rather than on-demand browsing.
- People recreating a "broadcast" feel — a sitcom channel, a kids' channel, a 24-hour movie channel — where episodes and ad breaks run on a timeline.
- Anyone who wants their library to behave like a tuner in clients they already use, avoiding a separate viewing app.
It is less appealing if you only ever watch specific titles on demand; building and maintaining schedules adds work that on-demand playback doesn't need.
What you actually do with it
- Install via Docker or a standalone binary.
- Connect a media source and point Tunarr at your movies, shows, music or other video.
- Create a channel and choose programming — including filler such as commercials or bumpers between items.
- Schedule with tools like time slots, cyclic or block shuffle, and mid-roll breaks.
- Add the tuner to Plex, Jellyfin or Emby, or use the M3U output in an IPTV player.
Trade-offs to weigh
| Approach | Strength | Cost |
|---|---|---|
| Tuner in Plex/Jellyfin/Emby | Uses clients you already have | Depends on those servers staying healthy |
| M3U in an IPTV player | Flexible client choice | Extra app to manage; player support varies |
Scheduling is the main investment: a simple shuffle channel takes minutes, while a curated prime-time lineup with fixed slots and ad breaks takes real planning. Transcoding settings and stream troubleshooting also matter if your server hardware is modest.
A practical first step: build one small channel from a single show and a handful of filler clips, watch it through your usual client, and only then expand into multi-source schedules.
How do I connect Tunarr to my Plex or Jellyfin server to start watching channels?
Connect Tunarr to Plex or Jellyfin as a media source, then add Tunarr's spoofed HDHomeRun tuner to the same Plex/Jellyfin (or Emby) server to watch the channels it generates. The source connection supplies your movies, shows and other video; the tuner connection is what makes the finished channels appear in your player's live TV guide.
Two connections, two purposes
| Connection | Where you set it up | What it does |
|---|---|---|
| Media source (Plex, Jellyfin, Emby, or Local) | Tunarr web UI, under Configure → Media Sources | Gives Tunarr your library to schedule into channels |
| Spoofed HDHomeRun tuner | Your Plex/Jellyfin/Emby live TV settings | Lets that server receive Tunarr's channels as tuner input |
| Generated M3U file | Any third-party IPTV player | Alternative to the tuner for players outside Plex/Jellyfin/Emby |
Practical sequence
- Install and run Tunarr (Docker or standalone binary), then open its web UI.
- Complete initial setup and add your Plex or Jellyfin server under Media Sources, pointing it at the libraries you want to draw from.
- Create a channel and schedule programming using the slot editor, time slots, cyclic or block shuffle, and filler.
- In Plex or Jellyfin, add the Tunarr HDHomeRun tuner, then watch the channels through its live TV interface.
A concrete case: someone with a Plex library of old sitcoms and a folder of trailers wants a always-on "1990s evenings" channel. They connect Plex as the source, build the channel in Tunarr with time-slot scheduling and trailer filler, then add the tuner to Plex so the household can tune in from the normal Plex app rather than a separate player.
Choosing your path
- Plex or Jellyfin household: use the tuner route so channels sit alongside your existing live TV.
- Mixed clients or non-Plex devices: use the generated M3U with an IPTV player.
- Library on another server type: Emby is listed as a source option, so you are not limited to Plex and Jellyfin.
If channels do not appear after adding the tuner, check Tunarr's Common Issues and Stream Troubleshooter pages before rebuilding the channel. For background on the project, see Tunarr.
Should I use the HDHomeRun tuner emulation or generate M3U files for my IPTV player?
Choose HDHomeRun emulation when your player already supports Plex, Jellyfin or Emby natively and you want Tunarr's channels to appear as a tuner inside that app. Choose M3U when you are using a third-party IPTV player or a device that expects a playlist URL rather than a tuner device.
How the two routes differ in practice
| Situation | HDHomeRun emulation | M3U playlist |
|---|---|---|
| Player is Plex, Jellyfin or Emby | Native fit: add the spoofed Tunarr tuner and channels show up like broadcast TV | Works, but you are adding a playlist to an app that already has a tuner concept |
| Player is a generic IPTV app or box | Usually not supported | The intended route |
| Setup effort | Add a tuner once, then manage channels in Tunarr's web UI | Point the player at the generated M3U and refresh when channels change |
| Guide data | Handled through the tuner/EPG integration in the media server | Depends on the player's EPG handling; you may need to supply the guide separately |
A concrete example: a household running Jellyfin on a NAS with a living-room TV client should use the tuner route, because Jellyfin's live TV interface then treats Tunarr channels like any other channel, including its own guide and recording features. Someone running an Android IPTV player on a bedroom TV, or feeding a player that has no tuner support at all, should use the M3U output instead.
Decision criterion
Start with the player, not with Tunarr. If the player can add an HDHomeRun tuner, use emulation; if it only accepts M3U or Xtream-style playlist URLs, generate M3U. Running both is possible but means maintaining two views of the same channel lineup, so pick one as primary and treat the other as a fallback for a secondary device.
For setup details on either path, the official documentation at Tunarr covers installation, connecting media sources from Plex, Jellyfin, Emby or local files, channel configuration and EPG handling.
How do I schedule programming and set up time slots, shuffles, or mid-roll breaks for a channel?
Tunarr handles this through its Scheduling section, which combines a visual Slot Editor with several slot types: time slots, cyclic shuffle, block shuffle, mid-roll breaks, plus replicate and consolidate tools. You configure all of it per channel in the web UI, after your media sources (Plex, Jellyfin, Emby, or local folders) are connected.
Choosing a slot type
| Slot type | Best for | Trade-off |
|---|---|---|
| Time slots | Fixed appointments ("cartoons 7–9am") | Rigid; gaps or overlaps need attention |
| Cyclic shuffle | Rotating a pool so nothing repeats until exhausted | Less predictable order |
| Block shuffle | Shuffling whole blocks (e.g., a series run) while keeping block order | Coarser control within blocks |
| Mid-roll breaks | Inserting filler/commercials inside or between programs | Needs filler configured first |
A practical setup sequence
- Create the channel and add your media sources.
- Build a small filler library (commercials, bumpers, trailers); Tunarr's docs explain how filler is chosen.
- Open the Slot Editor and lay out your day with time slots, then use shuffle types for the flexible hours.
- Add mid-roll breaks where you want interruptions, and use replicate/consolidate to copy or merge schedules across channels.
- Check the Flex and EPG settings so the guide reflects the schedule, then watch via the spoofed HDHomeRun tuner in Plex/Jellyfin/Emby or an M3U in an IPTV player.
Next step: start with one channel and two or three slots to learn how the editor behaves before replicating a full-day schedule. If you also run other media tools, the official docs at Jellyfin and Plex cover client-side tuner setup.
What can I do in the Tunarr web UI to configure channels, media sources, and transcoding settings?
The Tunarr web UI is where you build and run virtual TV channels from media on your Plex, Jellyfin, or Emby servers. In practice, that means three main areas of work: pointing Tunarr at your libraries, defining channels and their schedules, and tuning how streams are produced.
Media sources
Under Configure → Media Sources, you connect the servers Tunarr should draw from — Plex, Jellyfin, or Emby — plus local sources. Local sources are split by content type (movies, shows, other video, music, music videos), so a folder of home videos and a folder of films are handled separately. Connect your main library server first and confirm Tunarr can see the expected items before adding local folders; a half-populated source will show up as gaps when you schedule.
Channels and programming
The Channels section is where each virtual channel lives. Per channel you set Properties, Flex, EPG, Transcoding, and Watermarks, and you build the lineup in Programming. Programming draws on your Library, plus Filler (with its own rules for how filler is chosen), Custom Shows, Smart Collections, and Trash.
Scheduling is the part worth learning properly. The Slot Editor, Time Slots, Cyclic Shuffle, Block Shuffle, Mid-Roll Breaks, Replicate, and Consolidate tools cover different styles: a fixed daily grid, a rotating shuffle, or a block of episodes in order. A simple example: use Time Slots for a "morning cartoons, evening drama" channel, and Cyclic Shuffle for a channel that should feel unpredictable but never repeat too soon.
Transcoding and delivery
FFmpeg → Transcode Configs holds your transcode settings, and each channel has its own Transcoding options. This is the main trade-off: transcoding makes channels playable on clients that can't handle the source format, at the cost of CPU/GPU load per stream. If your players already direct-play your media, lighter settings keep the server cool; if you're serving mixed devices, per-channel transcode settings let you be strict only where needed.
Watching and checking the result
Add the spoofed Tunarr HDHomeRun tuner to Plex, Jellyfin, or Emby, or use the generated M3U files in any third-party IPTV player. When something won't play, the Stream Troubleshooter under Misc. is the first place to look, and System → Backup and Logging help you keep configurations safe and diagnose problems.
A useful next step: connect one media source, build a single channel with three or four programs, and play it on your main client before adding filler, watermarks, or complex schedules. That isolates setup problems early.
How does Tunarr differ from dizqueTV, and is it worth migrating to version 1.0?
Tunarr is a near-complete rewrite of dizqueTV, not a patch on top of it. The page states it began as a fork and evolved into its own program, with goals to modernize the backend and frontend, stabilize the software, fix bugs, improve performance, and rebuild the web UI while adding new features. In practice, that means the same core idea — turning media from Plex, Jellyfin or Emby into live TV channels — delivered through a newer application, with channels, scheduling, filler and EPG handled in Tunarr's own web interface.
What changes for you
The biggest practical difference is the management surface. In Tunarr you configure channels, programs, commercials and settings in its web UI, then watch by adding its spoofed HDHomeRun tuner to Plex, Jellyfin or Emby, or by pointing a third-party IPTV player at generated M3U files. The documentation also covers scheduling tools (time slots, cyclic and block shuffle, mid-roll breaks), watermarks, transcoding configs and custom shows, so it's aimed at people who want fine control over how a channel behaves rather than a simple playlist loop.
| Consideration | Why it matters |
|---|---|
| Web UI | A rebuilt interface is the main day-to-day change; expect a different workflow for channel and schedule editing |
| Stability and performance | Stated goals of the rewrite; relevant if you hit bugs or sluggishness in dizqueTV |
| Feature depth | Scheduling, filler selection, flex/EPG and transcoding options are documented as first-class features |
| Migration effort | The docs include a dedicated "Migrate to 1.0" path, so moving is a supported process rather than a manual rebuild |
| Ecosystem fit | Works with Plex, Jellyfin and Emby as sources and as playback clients via the virtual tuner |
Is migrating to 1.0 worth it?
If your dizqueTV setup is stable and you rarely touch it, migration is optional — you'd be trading a known configuration for a new one. If you're actively fighting bugs, want a cleaner interface, or need scheduling and filler features that dizqueTV handles poorly, the rewrite's stated goals line up with your pain points, and the documented migration path lowers the risk. Run Tunarr alongside your existing setup first, recreate one or two channels, and confirm playback through your actual client before switching everything over.
As a next step, read the "Migrate to 1.0" and "Getting Started" sections at Tunarr and check the FAQ and Common Issues pages for anything matching your current setup, such as Plex or Jellyfin connection quirks.
User reviews (0)