VideoCAT VideoCAT
Open source · Self-hosted · Privado

Tu catálogo de video,
aunque el disco esté desconectado

Cataloga tus discos externos, revisa fotogramas, encuentra duplicados probables y gestiona archivos desde una web privada que tú hospedas. Los videos originales se quedan en tus discos.

Instalar con Docker Requiere Docker
$

Levanta PostgreSQL, la API y la web con las imágenes oficiales. Luego abre http://localhost:8081 y entra como admin con la contraseña que muestra el instalador.

Descargar Companion
Ver en GitHub Cómo funciona

Servidor con Docker (amd64 y arm64). Companion para Windows.

Captura real con un catálogo ficticio

  • Los originales se quedan en tus discos
  • Reconoce discos aunque cambie la letra
  • Duplicados entre resoluciones
  • Borrado diferido y verificado
El problema

Cientos de horas de video repartidas en discos que casi nunca conectas

Cuando tu colección crece más allá de un solo disco, encontrar algo se vuelve imposible: ¿en qué disco estaba? ¿es un duplicado? ¿ya lo revisé? Conectar disco por disco para buscar no escala, y los media servers dan por hecho que todo está siempre conectado.

  • ✕ No recuerdas qué hay en cada disco sin conectarlo.
  • ✕ Los duplicados ocupan espacio que podrías recuperar.
  • ✕ No hay un registro de qué ya revisaste o decidiste borrar.
Cómo funciona

En marcha en tres pasos

Un servidor que tú hospedas y un Companion en tu Windows. El servidor guarda el catálogo; los archivos se quedan donde están.

  1. 1

    Despliega

    Un comando levanta la web, la API y PostgreSQL con Docker. Abres http://localhost:8081 y entras como admin.

  2. 2

    Empareja

    Instalas el Companion en Windows, generas un código en Administración › Companions y lo pegas en el Companion.

  3. 3

    Escanea

    Añades discos o carpetas. El Companion lee los metadatos con FFmpeg, genera miniaturas y huellas visuales, y sube solo eso.

Plataforma web

Catálogo privado con login, en español e inglés, que se despliega con Docker Compose detrás de tu dominio.

  • Postgres + Fastify + Prisma
  • React + Vite servido por Nginx
  • Reverse proxy, cookies seguras y HTTPS
  • Imágenes oficiales para amd64 y arm64

Companion de Windows

Una app de bandeja que detecta tus discos, los escanea, sirve la reproducción remota y ejecuta copias y borrados.

  • Se empareja con un código de un solo uso
  • Reconoce discos por su .videocat-disk.json
  • Sirve la reproducción remota por un túnel saliente
  • Se actualiza solo desde GitHub Releases
Catálogo y búsqueda

Todo tu video a la vista, aunque esté guardado en un cajón

La tira de discos muestra cuáles están conectados y cuánto ocupan. Lo que vive en un disco desconectado sigue en el catálogo, marcado como tal, con sus miniaturas y metadatos.

  • Cuadrícula o lista, y búsqueda con Ctrl K tolerante a acentos sobre nombre y ruta.
  • Filtros por disco, extensión, carpeta (un árbol que carga bajo demanda), etiquetas, categorías y duplicados.
  • Panel de detalle con una galería de 15 fotogramas, los posibles duplicados y las acciones sobre el archivo.
  • «Mostrar conectados» para trabajar solo con los discos enchufados.
  • Los discos se reconocen por su .videocat-disk.json aunque Windows cambie la letra de la unidad.
Review

Decide qué se queda, un video a la vez

Una sesión a pantalla completa con videos pendientes al azar, si quieres solo de los discos conectados. Cada decisión tiene su tecla y se puede deshacer.

  • Vista de fotograma o galería con las 15 miniaturas a la vez.
  • Asigna categorías mientras revisas, con las teclas del 1 al 9.
  • El siguiente video ya está precargado: no hay espera entre uno y otro.
  • Pendientes, marcados hoy, últimos 7 días y espacio liberado, siempre a la vista.
  • En el móvil, cada decisión se confirma con una animación y el nombre del archivo queda fijo arriba.
  • FMantener
  • JMarcar para borrar
  • SSaltar
  • ZDeshacer
  • GFotograma o galería
Duplicados asistidos

El mismo video en tres discos y dos resoluciones

Comparar tamaños no encuentra la copia que reconvertiste hace años. VideoCAT toma huellas visuales en 15 puntos de cada video y las combina con los metadatos para proponer copias probables, aunque cambien la resolución, el códec o la compresión. La decisión final siempre es tuya.

  • Cada grupo trae su nivel de confianza, los motivos de la coincidencia y el espacio recuperable.
  • Modo asistido lado a lado: la copia recomendada aparece primero, elegida por resolución, tamaño y duración.
  • Una tecla decide: 1 o ← conserva A, 2 o → conserva B, Enter aplica la recomendación.
  • «Conecta primero» ordena los discos por el espacio que liberarías al resolverlos.
  • Las carpetas protegidas por PIN quedan fuera del cálculo.
15
huellas visuales por video
A descargar

Lo que quieres ver, copiado a tu PC

Pon videos en cola y el Companion los copia, uno a la vez, desde los discos conectados a una carpeta local de Windows.

  • Progreso por archivo y de la cola completa, con velocidad y tiempo estimado.
  • Pausa segura: termina la copia en curso y detiene las siguientes.
  • Selección al azar por un tamaño objetivo en GB, limitada a discos o carpetas, sin repetir lo ya descargado.
  • Si una copia se estanca, se marca con error y sigue con la siguiente.
  • Nunca sobrescribe un archivo que ya existe en el destino.
Reproducción remota

Mira desde el celular los videos de los discos conectados a tu PC

El Companion abre un túnel saliente y autenticado hacia VideoCAT. No expone puertos de Windows ni monta tus discos en el servidor. El disco tiene que estar conectado a la PC para poder reproducir.

Túnel saliente, solo lectura

La conexión la inicia el Companion desde tu Windows. El túnel sirve reproducción y no acepta operaciones remotas de escritura.

HTTP Range, sin copias

El servidor retransmite los bytes que pide el reproductor, sin revelar la ruta local y sin guardar el video.

Reproductor táctil

Pantalla completa, doble toque para avanzar o retroceder, salto directo a otro video y aleatorio persistente entre discos conectados.

Sesiones acotadas

Cada sesión pertenece al usuario que la creó, tiene límites de duración e inactividad y se cierra si el túnel se cae.

  • Antes de reproducir comprueba si el navegador soporta el contenedor y los códecs. Para H.264 con AAC o MP3 hay un remux temporal a MP4 opcional (-c copy).
  • No transcodifica H.265, AV1 ni otros códecs: consumiría mucha CPU. Lo que se puede reproducir depende del navegador.
  • Chromecast está desactivado por defecto; se activa en Perfil y usa enlaces firmados y temporales.

Toda la web, también en el móvil

Barra de pestañas abajo, hojas desplegables para los filtros y las mismas secciones que en el escritorio.

Companion de Windows

Una app de bandeja que hace el trabajo en tu PC

El Companion es la única pieza que toca tus discos. Escanea, sube metadatos y miniaturas, copia, borra y sirve la reproducción remota.

  • Se instala con Setup.exe, sin permisos de administrador, y se actualiza solo desde GitHub Releases.
  • Se empareja con un código de un solo uso; su credencial queda cifrada por Windows y se revoca desde Administración.
  • Monitorea discos con marcador y carpetas locales o de red, y reescanea sin repetir el trabajo ya hecho.
  • Si un archivo desaparece, lo oculta sin perder etiquetas ni historial, y lo reactiva si vuelve.
  • Configuración por páginas: Conexión, Navegador, Rutas, Archivos, Avanzado y Actualizaciones.

Necesita FFmpeg: winget install Gyan.FFmpeg.

Interfaz

Clara, oscura u OLED, y con tu color

La interfaz se adapta a cómo y dónde la usas. La elección se guarda en tu navegador.

  • Temas claro, oscuro, OLED o del sistema.
  • Seis colores de acento: Naranja CAT, Cobalto, Esmeralda, Uva, Rosa y Grafito.
  • Densidad cómoda o compacta.
  • Español e inglés, con detección del idioma del sistema.
  • Barra lateral contraíble, y cada sección con su propia URL para recargar o compartir.
Y además

Para entender y mantener tu colección

Las secciones que no usas todos los días, pero que necesitas cuando algo no cuadra.

Esquema de uso

Un mapa de carpetas por tamaño, navegable por niveles, para ver dónde se va el espacio.

Auditoría

Errores de escaneo, metadatos, miniaturas y borrados, agrupados, con búsqueda y exportación CSV.

Administración

Capacidad física y catalogada por disco, Companions emparejados, actividad reciente y limpieza.

Perfil

PIN y carpetas protegidas, Companion local, Chromecast opcional y apariencia.

Privacidad y seguridad

Tus videos se quedan en tus discos

El servidor guarda metadatos, rutas relativas y miniaturas. Cuando reproduces en remoto retransmite los bytes que pide el reproductor, pero no los guarda.

Autohospedado · Sin telemetría
  • El servidor no necesita acceso a tus discos: solo recibe metadatos, rutas relativas, miniaturas JPEG validadas y errores de auditoría.
  • Cada Companion usa una credencial propia, emparejada con un código de un solo uso, cifrada por Windows y revocable. El servidor guarda solo su hash.
  • El túnel es saliente y solo sirve lectura con HTTP Range: no acepta escrituras remotas.
  • Abrir, copiar o borrar desde el navegador exige el token local del Companion.
  • Las rutas se resuelven de forma canónica: nada de escapes por enlaces o junctions.
  • Login con JWT de 12 horas, validación de origen, rate limiting, CSP y HSTS.
  • Contenedores sin root, con sistema de archivos de solo lectura y sin capacidades.
  • Carpetas sensibles protegidas por PIN y excluidas de los duplicados.

Cómo se borra un archivo

  1. 01

    Marcas un video para borrar. El servidor guarda la intención y el historial; no toca el disco.

  2. 02

    Cuando el disco correcto se conecta, el Companion valida que la ruta esté dentro de una carpeta monitoreada.

  3. 03

    Revisa tamaño, fecha de modificación y huella visual. Si el archivo cambió, cancela y quita la marca.

  4. 04

    Si todo coincide, borra el archivo y reporta el resultado, que queda en el historial.

Un borrado físico no se puede deshacer sin un respaldo. Si prefieres decidir cuándo, pon «Borrar los marcados» en «Solo a pedido» en el Companion.

Open Source

Tuyo para autohospedar, inspeccionar y mejorar

Sin nube, sin suscripción, sin telemetría. Despliega con Docker Compose en minutos.

  • Licencia AGPL-3.0-or-later
  • Imágenes oficiales en Docker Hub para amd64 y arm64
  • Companion con SHA-256, atestación de origen y SBOM en cada versión
  • CI con pruebas de API e interfaz en escritorio y móvil
  • Scripts de respaldo, verificación y restauración
TypeScriptFastifyPrismaPostgreSQLReactViteElectronDocker
Instalación manual
# 1. Descarga el compose y la configuración
mkdir videocat && cd videocat
curl -fsSLO https://raw.githubusercontent.com/reiterstahl/videocat/main/docker-compose.hub.yml
curl -fsSL https://raw.githubusercontent.com/reiterstahl/videocat/main/.env.example -o .env

# 2. Cambia los secretos (openssl rand -hex 32)
nano .env

# 3. Levanta el stack
docker compose -f docker-compose.hub.yml up -d

# 4. En Windows, FFmpeg para el Companion
winget install Gyan.FFmpeg
Versión actual Stack Docker v0.2.4 Companion Windows v0.2.3
Docker Hub →
Preguntas frecuentes

Lo que suele preguntarse

¿VideoCAT sube mis videos al servidor?

No. El catálogo guarda metadatos, rutas relativas, miniaturas, etiquetas e historial. Durante una reproducción remota, el Companion transmite los bytes que pide el reproductor a través del servidor, pero el archivo no se guarda allí.

¿Tengo que tener todos los discos conectados?

No. Ese es justamente el caso de uso: el catálogo se consulta aunque el disco esté guardado. Reproducir, copiar o borrar sí requiere conectar el disco correspondiente.

¿Qué pasa si Windows cambia la letra de una unidad?

Nada. VideoCAT identifica cada disco por el UUID de su archivo .videocat-disk.json, no por la letra.

¿Encuentra el mismo video con otra resolución?

Sí, como duplicado probable. Combina metadatos con huellas visuales tomadas a lo largo del video y te muestra la confianza y los motivos. No usa IA, y la decisión final es tuya.

¿Puede borrar archivos?

Sí, de forma diferida y a través del Companion. Antes de borrar valida el disco, la ruta y la identidad del archivo. Un borrado físico confirmado no se puede deshacer sin un respaldo.

¿Funciona en Android?

La web es responsive y la reproducción remota está pensada para navegadores móviles modernos. Que un video se reproduzca depende del navegador, del contenedor y de los códecs.

¿Funciona el Companion en macOS o Linux?

No, por ahora es solo para Windows. El servidor sí corre en cualquier sistema con Docker.

¿Reemplaza a Plex o Jellyfin?

No exactamente. VideoCAT se centra en catalogar colecciones repartidas en discos que suelen estar desconectados, revisar fotogramas, detectar duplicados y ejecutar acciones locales. No es un servidor de transcodificación.

¿Tengo que donar?

No. VideoCAT es software libre bajo AGPL. Los enlaces de apoyo son opcionales, y los forks pueden quitarlos respetando la licencia y la atribución.

Apóyanos

Si VideoCAT te ahorra discos y horas, invítame un café

El proyecto es gratuito y open source. Tu apoyo paga el tiempo de desarrollo y mantiene todo abierto.