A self-hosted web player for streaming Live TV, movies and series from your Xtream Codes or M3U IPTV provider in the browser.
cibernicola/tdt-local
Local web viewer for Spanish digital TV and radio channels, with a programme guide, 4-channel multi-view, optional subtitles and an optional local AI assistant.
- Stars
- 80
- Forks
- 9
- Open issues
- 0
- Last commit
- 5 days ago
What is it?
TDT local is a personal web app that plays Spanish digital terrestrial TV and radio streams on your own computer, without installing each broadcaster's app. It builds its channel list from the public TDTChannels lists and refreshes them automatically. The interface is in Spanish and the core runs on the Python standard library alone.
Beyond playback, it adds a programme guide (XMLTV) that shows the current and next show for each channel, a multi-view mode that plays four channels at once with rotating audio, and a stream checker that marks broken channels. Custom channels can be added with a pasted link and optional Origin and Referer headers.
The AI assistant and live subtitles are optional. They connect to tools you already run locally, such as an OpenAI-compatible llama.cpp server, ffmpeg and whisper.cpp, so transcription stays on your machine. The author describes the project as an early, personal build with no security guarantees, and recommends keeping it bound to localhost.
Key features
- 01Plays Spanish TV and radio streams in the browser via a local HLS proxy.
- 02Shows a programme guide with current and next programmes from XMLTV.
- 03Four-channel multi-view with keyboard switching and rotating audio.
- 04Checks each stream and hides channels that are down.
- 05Supports custom channel links, including YouTube embeds.
- 06Optional live subtitles and voice alerts using whisper.cpp.
Use cases
- Watching Spanish free-to-air TV on a PC without separate broadcaster apps.
- Monitoring several channels at once for news or sports.
- Running a private, localhost-only media viewer with an optional local LLM assistant.
Quick start
- 1
Get the source code from the repository
- 2
Install the package with pip from the project folder
pip install . - 3
Run the local viewer and open it in the browser
tdt-local --open
Things to know
- Early, personal-use project that the author describes as vibe-coded, so bugs and security flaws are likely.
- No authentication when run with --lan, so it must not be exposed to the internet.
- Installers are unsigned, and the interface is in Spanish only.
- Channel streams often change or expire, and the AI and subtitle features need separate programs such as llama.cpp, ffmpeg and whisper.cpp.
In collections
Topics
FAQ
- What is tdt-local?
- Local web viewer for Spanish digital TV and radio channels, with a programme guide, 4-channel multi-view, optional subtitles and an optional local AI assistant. TDT local is a personal web app that plays Spanish digital terrestrial TV and radio streams on your own computer, without installing each broadcaster's app. It builds its channel list from the public TDTChannels lists and refreshes them automatically. The interface is in Spanish and the core runs on the Python standard library alone.
- Is tdt-local free to use? What license does it have?
- tdt-local is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is tdt-local still maintained?
- Actively maintained. The last commit to tdt-local was on Nov 1, 2026.
- What can I use tdt-local for?
- Watching Spanish free-to-air TV on a PC without separate broadcaster apps. Monitoring several channels at once for news or sports. Running a private, localhost-only media viewer with an optional local LLM assistant.
- How do I install tdt-local?
- Get the source code from the repository Install the package with pip from the project folder: pip install . Run the local viewer and open it in the browser: tdt-local --open
- Where can I get tdt-local?
- The source code and installation instructions are on GitHub: https://github.com/cibernicola/tdt-local
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Converts multicast RTP/RTSP and HLS IPTV streams into HTTP streams, with FCC fast channel change and a built-in web player.
A community-maintained M3U playlist of free-to-air and free internet TV channels from countries around the world.
Tvheadend is a TV streaming server and digital video recorder for Linux that handles broadcast, IPTV and SAT>IP sources.
Self-hosted app that turns your Plex, Jellyfin, Emby, or local media into custom live TV channels you can watch in a player or TV tuner.
A free, open-source multi-protocol download manager in Rust supporting HTTP, FTP, BitTorrent, eD2K and HLS/DASH streams, with browser integration.