Repolode
cibernicola

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. 1

    Get the source code from the repository

  2. 2

    Install the package with pip from the project folder

    pip install .
  3. 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.

Backend & APIs#iptv#multicast#rtp
2.3K+7 this week374CGPL-2.0Well maintainedUpdated 6 days ago