Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

river

River es una plataforma de medios autoalojada que escanea, transcodifica y enriquece contenido multimedia (películas, series, música, audiobooks) para su reproducción directa en navegadores o aplicaciones de TV.

Ficha actualizada 22 sept 2026, 18:36 · upstream 22 sept 2026, 18:32 · release v0.4.2

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es river

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

River es un servicio de medios autoalojado diseñado para organizar, procesar y reproducir contenido multimedia. Su arquitectura se basa en microservicios independientes comunicados mediante RabbitMQ, con una base de datos PostgreSQL centralizada y un API REST que actúa como punto único de acceso. La plataforma ofrece transcodificación automática a formatos web-friendly (H.264/AAC/MP4 para video, AAC/M4A para audio), escaneo incremental basado en hash de tamaño y modificado por tiempo, y enriquecimiento de metadatos desde TMDB, Open Library y MusicBrainz.

La plataforma incluye clientes móviles para navegador y TV (Android/Fire TV) con navegación optimizada para pantallas táctiles, así como una interfaz administrativa completa. Además, integra con Radarr y Sonarr mediante un calendario unificado que agrupa fechas de lanzamiento de películas y series.

CASOS DE USO
  • Organizar y reproducir películas, series, música y audiobooks en un solo lugar
  • Transcodificar contenido desde cualquier formato (Blu-ray, DVD, archivos locales) a formatos web-compatible
  • Enriquecer metadatos de títulos con información de TMDB, Open Library o MusicBrainz
  • Reproducir películas y series directamente desde el navegador sin necesidad de un reproductor dedicado
  • Organizar audiobooks con capítulos y transcodificarlos a formatos compatibles con lectores de libros electrónicos
  • Crear listas de reproducción personalizadas (coleccionables) y gestionar la experiencia de usuario
  • Reproducir contenido en tiempo real con soporte para salas de cine virtuales (watch party)
  • Integración con sistemas de gestión de medios como Radarr o Sonarr mediante un calendario unificado
PUNTOS DESTACADOS
  • Transcodificación única a formatos web-friendly (H.264/AAC/MP4) que permite reproducción directa sin transcodificación por petición
  • Escaneo incremental basado en hash de tamaño y modificado por tiempo, lo que reduce significativamente el tiempo de escaneo para archivos no modificados
  • Metadatos enriquecidos desde múltiples fuentes (TMDB, Open Library, MusicBrainz) con posters, backdrops, descripciones y créditos
  • Soporte nativo de streaming HTTP Range para permitir saltos instantáneos dentro del archivo multimedia
  • Navegación táctil optimizada en el cliente TV con soporte para D-pad y navegación espacial
  • Sistema de autenticación JWT con tokens de renovación automática y rol de administrador por primera inscripción
PRECAUCIONES
  • La transcodificación se realiza una sola vez durante la ingestión, lo que puede generar archivos grandes en el disco local
  • El escaneo incremental depende del hash de tamaño y modificado por tiempo; si estos valores cambian (ej. reescritura), se debe reiniciar el escaneo
  • La integración con Radarr y Sonarr requiere configuración manual mediante URL o API key, sin autenticación automática
  • El cliente TV Android/Fire TV es una WebView que no puede ejecutar aplicaciones nativas de terceros
  • No hay soporte para reproducción en dispositivos móviles (iOS/Android) ni para consolas de videojuegos
  • La transcodificación por petición (si se implementa) podría generar múltiples copias del contenido, afectando el almacenamiento
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA8 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

Se recomienda desplegar River con Docker Compose para un despliegue rápido y sin configuración manual. La imagen de la aplicación web se construye en contenedor y se ejecuta junto con los microservicios Go a través de RabbitMQ. Para entornos GPU, se puede añadir una capa NVIDIA mediante docker-compose.gpu.yml que activa el acelerador NVENC. En producción, es importante mantener un monitoreo activo del estado de escaneo, ya que la sincronización entre disco y base de datos depende de la integridad de los metadatos en tiempo real. Se recomienda configurar alertas para el estado de escaneo y el consumo de recursos (CPU/RAM) de cada microservicio.

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsReactNode.jsGo
SERVICIOS
PostgreSQLRabbitMQ
BASES DE DATOS
PostgreSQL
PUERTOS
54328080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.