Los dos motores de medios del daemon, cómo elegir uno y qué pasa si el elegido no puede con un fichero.
Especificado. Los dos motores existen detrás de un mismo contrato y se eligen por configuración del daemon, pero la página no puede ser
implementadomientras documente variables del daemon (STYX_MEDIA_*) sin su referencia de configuración generada (dec-0124§5.1 y §7.7). Sube de estado cuando esa referencia exista.
El daemon tiene dos motores que producen los mismos segmentos CMAF:
zig: el propio. Demuxa MP4 y Matroska y empaqueta sin dependencias externas.libav: FFmpeg usado sólo como librería dentro del daemon (nunca como proceso). Se
compila con -Dlibav=true.Se eligen con dos variables del daemon (dec-0110 §3):
| Variable | Valores | Por defecto | Qué hace |
|---|---|---|---|
STYX_MEDIA_ENGINE | zig, libav, auto | auto | Motor que empaqueta |
STYX_MEDIA_ENGINE_FALLBACK | off, libav | off | Si el motor elegido no puede con el fichero, libav lo intenta |
Un valor que el binario no puede cumplir (por ejemplo libav en un daemon compilado sin libav)
detiene el arranque: no degrada en silencio. Cuando hay sustitución, la explicación del plan
lo dice con el motivo.
Otras variables relacionadas del daemon: STYX_MEDIA_PACKAGING_MAX (sesiones de empaquetado
abiertas a la vez, 1 a 4096, por defecto 32), STYX_MEDIA_PACKAGING_WORKERS y
STYX_MEDIA_PACKAGING_HELD_MIB.
H.264, H.265, AV1, VP9, AAC, MP3, Opus, FLAC, AC-3 y E-AC-3. DTS y TrueHD no se empaquetan, y
el build de libav no incluye hoy codificador aac, así que tampoco se convierten. Ver el
estado real.
Hay un diferencial entre los dos motores sobre un corpus fijado por hash (dec-0112): las
discrepancias se clasifican una a una en la evidencia del nodo track/media-engine. La decisión sobre dónde vive el parser (dec-0109) sigue en PROPOSED. Esta página no publica cifras de
rendimiento: el contrato (dec-0112) exige el gate de comparación con Jellyfin antes de
afirmar nada.