Cargando…

⚠ Copia este token ahora — NO se volverá a mostrar.

URL de stream:

Los dominios añadidos aquí podrán reproducir cualquier vídeo de tu servidor sin login ni token, directamente desde un <iframe> o etiqueta <video>. Se admiten comodines: *.ejemplo.com permite cualquier subdominio.

Cargando…

URL de embed (sin token)

Iframe:
<iframe src="https://nas.maicolfrantech.com/?r=/embed/player&path=RUTA_BASE64" width="840" height="474" frameborder="0" allowfullscreen></iframe>

Video directo:
<video src="https://nas.maicolfrantech.com/?r=/embed/stream&path=RUTA_BASE64" controls></video>

🎬 Cómo reproducir un vídeo

Haz clic en cualquier archivo de vídeo en tu explorador de archivos. Se abrirá automáticamente el reproductor. Formatos reconocidos: MP4, WebM, OGG, AVI, MKV, MOV, M4V.

Para máxima compatibilidad y rendimiento, usa MP4 con codec H.264 + audio AAC.

🖥 Controles del reproductor

▶ Play / Pausa        — Botón central o barra inferior
⏪⏩ Retroceder / Avanzar — Botones ±10 segundos
🔀 Barra de progreso  — Arrastra para saltar a cualquier punto (seeking)
🔊 Volumen            — Slider junto al botón de mute
⚙ Velocidad          — Menú ⚙ → elige de 0.5× a 2×
🖼 Picture-in-Picture — Ventana flotante (sigue reproduciendo mientras navegas)
🔲 Pantalla completa   — Botón o tecla F

⌨ Atajos de teclado

Espacio / K     →  Play / Pausa
←  Flecha izq.  →  Retroceder 10 segundos
→  Flecha der.  →  Avanzar 10 segundos
↑  Flecha arriba →  Subir volumen
↓  Flecha abajo  →  Bajar volumen
F               →  Pantalla completa
M               →  Silenciar / Activar sonido
Esc             →  Cerrar reproductor

Los atajos funcionan mientras el reproductor esté abierto, sin necesidad de hacer clic primero en el vídeo.

💾 Preferencias guardadas

El reproductor recuerda automáticamente tu volumen y velocidad de reproducción preferidos entre sesiones. No necesitas configurar nada.

📥 Descargar / 📋 Incrustar

Descargar: Botón debajo del vídeo — descarga directa del archivo original.

Incrustar: Botón debajo del vídeo — genera el código <iframe> para pegar en blogs, webs o apps. Copia automática al hacer clic.

📁 Archivos grandes (+1 GB)

El reproductor soporta archivos de cualquier tamaño. El seeking es instantáneo — solo descarga el fragmento que necesitas, no el archivo completo. Si ves el spinner de carga, es normal en conexiones lentas; espera unos segundos.

Para desarrolladores / uso externo

Insertar un vídeo en cualquier página (iframe)

Usa el endpoint videopage para incrustar el reproductor Plyr completo en cualquier web o app:

<iframe
  src="https://nas.maicolfrantech.com/?r=/t/videopage&path=RUTA_BASE64&token=TU_TOKEN"
  width="840" height="474" frameborder="0" allowfullscreen>
</iframe>

URL de stream directo (video HTML5 / apps)

Úsala en una etiqueta <video src=> o en cualquier reproductor de medios:

https://nas.maicolfrantech.com/?r=/t/stream&path=RUTA_BASE64&token=TU_TOKEN

Embed por dominio (sin token)

Si configuraste dominios en la pestaña 🌐 Dominios, puedes usar URLs más simples sin token:

<!-- Reproductor integrado (iframe) -->
<iframe src="https://nas.maicolfrantech.com/?r=/embed/player&path=RUTA_BASE64"
        width="840" height="474" frameborder="0" allowfullscreen>
</iframe>

<!-- Video directo -->
<video src="https://nas.maicolfrantech.com/?r=/embed/stream&path=RUTA_BASE64"
       controls width="840">
</video>

Solo funciona desde los dominios configurados. No requiere token ni login.

Cómo obtener RUTA_BASE64

// JavaScript
const ruta = '/peliculas/film.mp4';
const base64 = btoa(unescape(encodeURIComponent(ruta)));

// PHP
$base64 = base64_encode('/peliculas/film.mp4');

// Python
import base64
base64.b64encode('/peliculas/film.mp4'.encode()).decode()

Generar tokens hijo de corta duración (desde tu servidor)

Guarda el token maestro en tu backend y genera tokens temporales por usuario o sesión, para no exponer el maestro en el navegador:

POST https://nas.maicolfrantech.com/?r=/api/tokens/temp
Content-Type: application/json

{
  "token": "TOKEN_MAESTRO",
  "path": "/peliculas/film.mp4",
  "ttl_seconds": 3600
}

→ { "token": "TOKEN_TEMPORAL", "expires_at": "2026-...", "ttl_seconds": 3600 }

Streaming con HTTP Range (para desarrolladores)

Todos los endpoints de stream soportan HTTP Range requests, lo que permite seeking instantáneo y compatibilidad con reproductores nativos:

# Petición de rango (curl)
curl -H "Range: bytes=5000000-5999999" \
  "https://nas.maicolfrantech.com/?r=/t/stream&path=BASE64&token=TOKEN"

# Respuesta:
HTTP 206 Partial Content
Content-Range: bytes 5000000-5999999/104857600
Accept-Ranges: bytes

Funciona con archivos de cualquier tamaño (probado con +3 GB). Chunk size interno: 256 KB.

Referencia de la API (admin)

GET  /?r=/api/tokens                              → [ ...tokens ]
POST /?r=/api/tokens      { name, paths, expires_at }  → { token, id, ... }
POST /?r=/api/tokens/revoke  { id }                 → { ok: true }
POST /?r=/api/tokens/temp    { token, path, ttl_seconds } → { token, expires_at }

GET  /?r=/api/domains                             → [ ...dominios ]
POST /?r=/api/domains        { domain }           → { ok: true }
POST /?r=/api/domains/delete { domain }           → { ok: true }