joaquin 3a450214ab fix: use cumulative CPU average for ffmpeg monitoring
Delta sampling over 2s returns 0-1 integer ticks for low-CPU processes
(ffmpeg copy mode ~0.3% CPU), always rounding to 0.0%. Switch to
cumulative average (total_cpu_ticks / clk_tck / elapsed) — same method
ps uses — which gives stable, accurate readings. Also show 2 decimal
places so values like 0.34% are visible.
2026-05-17 23:56:05 +02:00

KiraTV

Sistema de proxy y gestión IPTV con soporte multiusuario y fan-out de streams.

Stack

  • Backend: Python 3.13 + FastAPI + asyncio
  • Base de datos: PostgreSQL 17 + SQLAlchemy 2 + Alembic
  • Cache / estado: Redis 8
  • Frontend: React 18 + Vite + TailwindCSS
  • Proxy inverso: Nginx

Características

  • Compatible con API Xtream Codes (TiviMate, Smarters, IPTV Pro…)
  • Fan-out de streams: N usuarios ven el mismo canal → 1 solo slot del proveedor
  • Soporte multi-cuenta del mismo proveedor con balanceo de slots
  • Catálogos personalizados por usuario (live, VOD, series)
  • Integración Jellyfin: biblioteca local como categorías KiraTV
  • EPG XMLTV con merge por tvg-id
  • Dashboard en tiempo real (WebSocket): qué usuario ve qué canal y qué slot usa
  • Reconexión automática con detección de stall y A/V sync garantizado

Instalación

cp .env.example /opt/kirastream/.env
# Editar .env con tus valores reales

cd /opt/kirastream/frontend
npm install && npm run build

cd /opt/kirastream
python3 -m venv venv
venv/bin/pip install -r backend/requirements.txt
venv/bin/python -m alembic upgrade head

Configuración

Ver .env.example para todas las variables disponibles.

La configuración de Nginx está en nginx/kirastream.conf.
El servicio systemd está en kirastream.service.

S
Description
No description provided
Readme 2.9 MiB
Languages
Python 55.2%
TypeScript 44.1%
Shell 0.3%
HTML 0.2%
JavaScript 0.1%