Un reproductor de karaoke interactivo basado en la web, construido con HTML5, Node.js y WebSockets. Los usuarios pueden explorar una biblioteca de canciones y añadir colaborativamente canciones a una cola en tiempo real desde sus dispositivos móviles usando un código QR.
- Almacenamiento en S3: Las canciones de karaoke (videos MP4) se almacenan en un bucket compatible con S3 (como iDrive e2 o AWS S3).
- Control Remoto en Tiempo Real: La interfaz del reproductor y los controles remotos se sincronizan instantáneamente usando WebSockets.
- Conexión por QR: Escanea un código QR en la pantalla principal para abrir la interfaz remota en cualquier teléfono, sin necesidad de instalar una app.
- Explorador de Canciones Alfabético: Navega por la biblioteca de canciones de forma intuitiva, filtrando por artista y luego seleccionando la canción.
- Cola de Reproducción Compartida: Múltiples usuarios pueden ver y añadir canciones a la misma cola de reproducción en tiempo real.
- Controles de Reproducción: Los controles remotos pueden pausar, reanudar y saltar canciones.
- Notificaciones Inteligentes: El control remoto vibra y suena para avisar al usuario cuando su canción está a punto de empezar.
- Salas virtuales: Soporte de Salas virtuales con colas independientes.
- Backend: Node.js, Express, WebSockets (
ws) - Frontend: HTML5, CSS3, JavaScript (Vanilla)
- Almacenamiento: Cualquier servicio de Object Storage compatible con S3.
- Dependencias Clave:
aws-sdk v3,qrcode,dotenv.
Sigue estos pasos para ejecutar el proyecto en tu máquina local.
- Node.js (v16 o superior)
- npm
- Un bucket S3 compatible (ej. iDrive e2) con tus videos de karaoke y credenciales de acceso (Access Key).
-
Clona el repositorio:
git clone https://github.com/Xalcker/XaraokeMP4.git
-
Navega al directorio del proyecto:
cd XaraokeMP4 -
Instala las dependencias:
npm install
-
Crea un archivo
.enven la raíz del proyecto. Copia el contenido de abajo y reemplaza los valores con tus credenciales.# Credenciales de tu bucket S3 compatible S3_ENDPOINT=tu-endpoint.idrivee2.com S3_ACCESS_KEY_ID=TU_ACCESS_KEY S3_SECRET_ACCESS_KEY=TU_SECRET_KEY S3_BUCKET_NAME=nombre-de-tu-bucket
-
Sube tus archivos de karaoke a tu bucket, dentro de una "carpeta" llamada
MP4/. Asegúrate de que los nombres sigan el formato:"Artista - Cancion.mp4". -
Inicia el servidor:
npm start
-
Abre tu navegador y ve a
http://localhost:3000.
- Abre la aplicación en un navegador en tu computadora o TV (el Host).
- Escanea el código QR con la cámara de tu teléfono para abrir el Control Remoto.
- Introduce tu nombre en la interfaz remota.
- Usa el explorador alfabético para encontrar tu canción favorita y añadirla a la cola.
- La cola se actualizará en la pantalla principal y en todos los remotos conectados.
- ¡Espera tu turno y canta!
Esta aplicación está lista para ser desplegada en plataformas PaaS como Render.
- Conecta tu repositorio de GitHub a un nuevo "Web Service" en Render.
- Usa
npm installcomo Build Command ynode server.jscomo Start Command. - No subas tu archivo
.env. En su lugar, añade las variables de entorno en el panel de control de Render, en la sección "Environment". - Una vez desplegado, no olvides actualizar la política CORS de tu bucket S3 para incluir la URL de tu aplicación en Render (ej.
https://xaraokemp4.onrender.com).
Este proyecto está bajo la Licencia ISC.