Cómo decide Styx si copiar, adaptar o convertir un vídeo para tu dispositivo, y qué hace cada modo hoy.
Implementado en parte. El plan y el empaquetado a HLS funcionan en el camino de producción. La conversión de pistas (transcodificar) está permitida por diseño y no implementada; la sección estado real lo detalla.
Al pulsar Reproducir, el servidor de reproducción compara lo que tiene el fichero con lo que declara tu cliente y produce un plan, una decisión por componente:
| Componente | Acciones posibles |
|---|---|
| Contenedor | copiar, remux (cambiar de contenedor sin tocar las pistas) |
| Vídeo | copiar, transcodificar |
| Audio | copiar, transcodificar |
| Subtítulos | ninguno, pasar tal cual, convertir, quemar |
El modo se deduce del plan y sirve para la interfaz y la telemetría:
direct: todo se copia. No se toca nada.adapted: se cambia el contenedor o las pistas de audio o de subtítulos, pero no el vídeo.video-transcode: hay que volver a codificar el vídeo.Cada decisión lleva su razón. La explicación del plan viaja en la respuesta de la API: entre
sus motivos está qué motor empaquetó los bytes (media-engine) y si otro motor lo sustituyó
(media-engine-fallback). La ficha de la web todavía no muestra esos motivos: sólo enseña
los motivos del plan de demostración de una obra concreta, no los del plan de tu sesión (ver el
estado real).
El caso habitual (H.264 o H.265 con AAC o AC-3 en MP4 o MKV) es un remux: el daemon lee el fichero y emite segmentos fMP4/CMAF de un playlist HLS sin tocar el vídeo ni el audio. No hay transcodificación, y cada segmento se produce suelto sobre el índice de fotogramas clave, así que un salto no regenera lo que ya está en caché.
| Pieza | Estado |
|---|---|
| Plan composicional y explicado | Implementado |
| Remux a HLS (CMAF) con los dos motores | Implementado |
| La ficha de la web muestra la explicación del plan de la sesión (motor y motor de reserva) | No implementado; la API ya la devuelve |
La web declara nativeDemux: false para MP4, así que todo pasa por remux a HLS; direct puro no se usa en la web | Implementado |
La web sólo acepta entrega HLS; cualquier otro transporte da TRANSPORT_UNSUPPORTED | Implementado |
| Transcodificar audio (DTS, TrueHD, AC-3 para un navegador que no lo decodifica) | No implementado, permitido por dec-0110 |
| Transcodificar vídeo | No implementado |
El daemon habla HTTP/3 y HTTPS/1.1 (origen TCP, Alt-Svc a h3); sin HTTP/2 | Implementado |
| El planner sólo mira la primera pista de audio | Limitación abierta |
Consecuencia: hoy se reproduce lo que se puede empaquetar tal cual. Si la primera pista de audio no la decodifica tu navegador, el plan pide transcodificar y la web no puede reproducirlo. El diseño objetivo cubre ese caso; la guía de pistas y subtítulos lo especifica.