https://github.com/chrisbenincasa/tunarr
Create a classic TV experience using your own media - IPTV backed by Plex/Jellyfin
https://github.com/chrisbenincasa/tunarr
ffmpeg iptv local-streaming media-streaming plex self-hosted streaming tv
Last synced: 9 days ago
JSON representation
Create a classic TV experience using your own media - IPTV backed by Plex/Jellyfin
- Host: GitHub
- URL: https://github.com/chrisbenincasa/tunarr
- Owner: chrisbenincasa
- License: zlib
- Created: 2024-01-18T20:21:20.000Z (about 1 year ago)
- Default Branch: dev
- Last Pushed: 2024-10-29T12:01:37.000Z (6 months ago)
- Last Synced: 2024-10-29T13:10:56.780Z (6 months ago)
- Topics: ffmpeg, iptv, local-streaming, media-streaming, plex, self-hosted, streaming, tv
- Language: TypeScript
- Homepage: https://tunarr.com/
- Size: 40.1 MB
- Stars: 153
- Watchers: 9
- Forks: 13
- Open Issues: 152
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-jellyfin - tunarr - Create custom live TV channels from your Plex or Jellyfin library with a web UI and IPTV support. (👾 Other)
README
# Tunarr
  
Create and configure live TV channels from media on your Plex & Jellyfin servers.
Access your channels by adding the spoofed Tunarr HDHomerun tuner to Plex, Jellyfin, or Emby. Or utilize the m3u URL with any IPTV player app (we love [UHF](https://www.uhfapp.com/) and [Tivimate](https://tivimate.com/)).
![]()
![]()
## Disclaimer
- ⚠️ Tunarr is under **very active** development.
- ⚠️ Expect bugs and breaking changes!## What is this?
Tunarr is a rewrite / rebrand of [**dizqueTV**](https://github.com/vexorian/dizquetv) (which in itself was a fork of [other projects](https://github.com/DEFENDORe/pseudotv)!). This project was born out of both a love for TV and an appreciation for the work put into dizqueTV and its predecessors.
Tunarr has the following goals:
- Modernize the stack, both backend and frontend
- Provide an migration path for existing users
- Stabilize the program, fix bugs, and improve performance (Tunarr currently is developed and tested on [Bun](https://bun.sh/) 1.2.0, which offers serious performance improvements over Node in various areas)
- Modernize and "prettify" the Web UI
- And of course, **Add a ton great new features!**## Features
- **NEW** Jellyfin library support!
- **NEW** Stream your channels directly in the [browser](https://github.com/chrisbenincasa/tunarr/pull/116)
- **NEW** Complete rewrite of streaming pipeline, offering better stability and improved performance
- **NEW** New and more powerful scheduling options!
- **NEW** [Dark mode!](https://github.com/chrisbenincasa/tunarr/pull/34)
- **NEW** Quickly find content you want for your channels with [advanced filtering and sorting](https://github.com/chrisbenincasa/tunarr/pull/210) (Jellyfin filtering [coming soon](https://github.com/chrisbenincasa/tunarr/issues/752))
- **NEW** Scheduled, configurable backups - never lose your channels and configuration!
- **NEW** Support multiple transcode configurations and set them per-channel
- **NEW** Improved UI for time/random slot scheduling
- Spoofed [HDHR](https://www.silicondust.com/hdhomerun/) tuner and a IPTV channel list, providing a large amount of flexibility and easing integration with [xTeVe](https://github.com/xteve-project/xTeVe) or [Threadfin](https://github.com/Threadfin/Threadfin) and Plex, or the IPTV client of your choice.
- Customize channels with a logo, filler content ("commercials", music videos, prerolls, channel branding videos) between programming, and more!
- View channel lineups on the web-based TV Guide
- Support for hardware accelerated transcoding, including Nvidia, VAAPI, QuickSync, and macOS VideoToolbox.
- ~~Subtitle support~~ Subtitle support is currently in flux; it was removed to simplify the backend and stabilize the stream. Bringing this functionality back is tracked in [#462](https://github.com/chrisbenincasa/tunarr/issues/462).## Limitations
- If you want to play the TV channels in Plex using the spoofed HDHR, Plex Pass is required.
- Like dizqueTV, Tunarr does not currently watch your Plex server for media updates/changes. You must manually remove and re-add your programs for any changes to take effect. Same goes for Plex server changes (changing IP, port, etc).. You'll have to update the server settings manually in that case. **NOTE** This feature is actively under development! (https://github.com/chrisbenincasa/tunarr/issues/15)## Releases
- https://github.com/chrisbenincasa/Tunarr/releases
## Wiki
- For setup instructions, check our [documentation site](https://tunarr.com/)
## Development
At a high level, [pnpm](https://pnpm.io) is Tunarr's package manager and [turbo](https://turbo.build/) is used for task running in the repo.
### Server
Tunarr server runs on [Bun](https://bun.sh/).
### Web
[vite](https://vitejs.dev/) is used for web dev and bundling.
### Start dev servers
1. Install Bun
2. Run from the root of the project:
```
pnpm turbo dev
```After the servers are running, the backend should be available at `localhost:8000` and the frontend at `localhost:5173/web`.
## License
- The original dizqueTV is released under zlib license (c) 2020 Victor Hugo Soliz Kuncar: we've kept this.