Skip to content

Compatibilidad con Flussonic

Sapsan responde en las URL habituales de Flussonic Media Server para que los reproductores, las integraciones y el monitoreo existentes sigan funcionando durante la migración. La compatibilidad está activada por defecto y se puede desactivar en el config:

flussonic:
  streaming: false   # por defecto true

URL heredadas admitidas

Se reconocen estas formas de dirección (GET/HEAD; OPTIONS atiende CORS preflight):

Legacy URL Comportamiento
/<stream>/index.m3u8 HLS; disposición según el perfil
/<stream>/index.fmp4.m3u8, /<stream>/index.ll.m3u8 302 al master HLS nativo
/<stream>/tracks-<tracks>/index.m3u8 (también index.fmp4.m3u8, index.ll.m3u8) HLS con selección de pistas
/<stream>/variant/<track>/index.m3u8 Lista de una pista
/<stream>/rewind-<seconds>.m3u8 Rebobinado HLS; disposición según el perfil
/<stream>/video.m3u8 Master HLS con MPEG-TS multiplexado
/<stream>/video-<from>-<duration>.m3u8 HLS de archivo con MPEG-TS multiplexado
/<stream>/video-rewind-<seconds>.m3u8 Forma legacy; master mixto en vivo sin rebobinado
/<stream>/index-<from>-<duration>.m3u8, /<stream>/archive-<from>-<duration>.m3u8 (también .fmp4.m3u8) HLS de archivo
/<stream>/tracks-<tracks>/index-<from>-<duration>.m3u8 (también archive-, .fmp4.m3u8) HLS de archivo con selección de pistas
/<stream>/archive-<from>-<duration>.mpd 302 a DASH de archivo
/<stream>/archive-<from>-<duration>.mp4 302 a exportación de archivo
/<stream>/tracks-<tracks>/archive-<from>-<duration>.mp4 Exportación con selección de pistas
/<stream>/info.json, /<stream>/ranges.json, /<stream>/recording_status.json Información del stream, rangos del archivo, estado de grabación
/<stream>/preview.jpg, /<stream>/preview.mp4 Vista previa en vivo
/<stream>/<utc>-preview.jpg, /<stream>/<utc>-preview.mp4, /<stream>/<utc>.jpg, /<stream>/YYYY/MM/DD/HH/MM/SS-preview.jpg, /<stream>/YYYY/MM/DD/HH/MM/SS-preview.mp4 Vista previa del archivo
/<stream>/m4f, /<stream>/m4s Transporte legacy en vivo
/<stream>/archive-<from>-<duration>[.m4f], /<stream>/m4f-<from>-<duration>[.m4f] Flujo legacy de archivo; duración también admite now
/<stream>/YYYY/MM/DD/HH/MM/SS.m4f, /<stream>/YYYY/MM/DD/HH/MM/SS.jpg Segmento legacy del archivo o vista previa
/<stream>.isml/manifest, /<stream>.isml/Manifest 307 al manifiesto MSS nativo
/<stream>(archive=<from>-<duration>).isml/manifest (también Manifest) Manifiesto MSS del archivo
/<stream>.isml/QualityLevels(<bitrate>)/Fragments(<track>=<time>) (también forma de archivo .isml) Fragmento MSS

En las formas m4f, [.m4f] indica una extensión opcional. Las marcas <utc> de vista previa pueden usar segundos o milisegundos Unix.

<from> y <duration> son segundos enteros; la duración debe ser positiva. <tracks> usa números como v1a1. También se reconocen info.json y ranges.json anidados. Los selectores antiguos mono, video, video<N>, track-* y txt-* antes de ventanas del archivo se aceptan sin aplicar esa selección: se devuelve el master completo.

Las URL HLS neutras (index.m3u8, .m3u8 del archivo, rewind-…) con un perfil de salida que contiene hls devuelven el master con la disposición del perfil. Sin ese perfil, redirigen al HLS fMP4 nativo. Las formas explícitas .fmp4.m3u8 y .ll.m3u8 mantienen fMP4. La familia video* entrega MPEG-TS multiplexado.

Reconocer una URL no implica admitir todos los modos: la exportación .ts y su duración now devuelven 422; rewind de .isml no está implementado. Los endpoints finales aplican la misma autorización, límites de licencia y disponibilidad del archivo que las URL nativas.

Parámetros de ranges.json: closed_at_gte, opened_at_gte, opened_at_lte, resolution, limit, cursor, sort.

Las formas video<N>.m3u8 y sus variantes de archivo/rewind no son compatibles.

Disposición de listas en las URL Flussonic

Las direcciones neutras index.m3u8, ventanas de archivo .m3u8 y rewind-<seconds>.m3u8 con un perfil de dispositivo que contiene hls devuelven una lista con código 200. Sin perfil o con un perfil sin hls, mantienen la redirección 302 a la URL fMP4 nativa con la query original. Las ventanas de archivo conservan sus límites; rewind legacy con ese perfil devuelve un master en vivo sin rebobinado. El parámetro from puede seleccionar el archivo.

El campo hls.output del perfil seleccionado por la solicitud determina la disposición:

  • fmp4 — fragmentos fMP4.
  • ts — MPEG-TS con pistas de audio separadas, bajo /streaming/v/<stream>/ts/….
  • ts_mux — MPEG-TS con audio dentro de los segmentos de vídeo, bajo /streaming/v/<stream>/ts/mux/….

video.m3u8 siempre devuelve la forma mixta ts_mux, incluso sin perfil; el perfil filtra las pistas. video-rewind-<seconds>.m3u8 se reconoce, pero también devuelve un master en vivo sin rebobinado. Las formas explícitas .fmp4.m3u8 e index.ll.m3u8, así como tracks-…/, mantienen la redirección.

La admisión, sesiones, inicio ondemand y selección de perfil coinciden con la entrega nativa. Los enlaces son rutas absolutas bajo /streaming/v/<stream>/… con parámetros de query, incluido el token. El proxy debe conservar este prefijo. No se admiten las familias independientes mono y timeshift (video-timeshift_rel-…). Consulte las formas nativas y límites de códecs en HLS sobre MPEG-TS.

Admin API v3

La API bajo el prefijo /streamer/api/v3 responde en el formato de Flussonic Streamer API v3 — véase Admin API. Al convertir una configuración de v3, algunos campos se descartan de forma deliberada (static, comment, title, segment_duration, listeners https y otros) — durante la conversión se dispone de un informe de pérdidas.

Tokens

La reproducción legacy acepta ?token= y Authorization: Bearer. En estas URL, el token de query tiene prioridad sobre el encabezado.

Qué viene después