Proyecto

FluxTuner

Python Radio Streaming Self-hosted

Plataforma de radio por Internet para terminal, escritorio y web autoalojada, construida alrededor de un núcleo compartido y diseñada para mantener el control sobre la biblioteca, los perfiles y los datos.

01 / Resumen

Radio, sin depender de una única interfaz

FluxTuner nació como una forma directa de buscar y escuchar emisoras de radio por Internet y ha evolucionado hasta convertirse en una plataforma con diferentes interfaces sobre una misma base. El proyecto combina reproducción, búsqueda, favoritos, playlists, historial y perfiles con una filosofía local-first y una opción web autoalojada.

02 / Interfaces

Interfaces

01
Terminal Textual Keyboard

Textual TUI

La interfaz principal para terminal, rápida y orientada al teclado, con búsqueda, reproducción, favoritos, playlists, historial, grabación y temas configurables.

02
GTK4 Linux Desktop

GTK4 Desktop

Interfaz gráfica nativa para escritorio Linux construida con GTK4, compartiendo biblioteca y funcionalidades con el resto de FluxTuner e integrándose con el entorno de escritorio.

03
Web Multi-user Self-hosted

Web / Server

Plataforma web autoalojada con cuentas de usuario, bibliotecas privadas, favoritos, playlists, historial, administración y una interfaz responsive accesible desde el navegador.

04
CLI Terminal

Legacy CLI

Interfaz numerada heredada que conserva una vía mínima y directa para utilizar FluxTuner desde el terminal.

03 / Media

FluxTuner en uso

Distintas interfaces sobre el mismo proyecto, desde el terminal hasta una instancia web autoalojada.

Interfaz TUI de FluxTuner en el terminal
Textual TUI
Interfaz GTK4 de FluxTuner
GTK4 Desktop
Interfaz web móvil de FluxTuner
Self-hosted Web
Selector de temas de la interfaz TUI de FluxTuner
TUI Themes
04 / Arquitectura

Una base, varias formas de usarla

Las interfaces comparten el mismo dominio y almacenamiento en lugar de comportarse como aplicaciones independientes.

Shared core

Búsqueda de emisoras, reproducción, favoritos, playlists, historial, configuración y lógica común reutilizada por las distintas interfaces.

Playback

Backends modulares con detección automática para mpv, ffplay, mpg123 y ogg123.

Local data

Persistencia mediante SQLite y directorios de configuración, datos y caché siguiendo las convenciones del sistema.

Profiles & users

Perfiles para separar bibliotecas y contextos de uso, junto con cuentas autenticadas independientes en el modo Web.

Self-hosting

El servidor Web puede desplegarse en infraestructura propia, incluyendo flujos preparados para contenedores Docker y Podman.

Recording

Grabación local desde TUI y GTK mediante FFmpeg stream copy, independiente de la reproducción y sin transcodificar el audio.

05 / Integración

Brynse

Brynse Streaming Integration

Boundary-driven stream segmentation

FluxTuner consume Brynse como motor independiente de segmentación de streams. La dependencia es unidireccional: Brynse no conoce FluxTuner y puede utilizarse de forma independiente por otros sistemas.