Skip to content

Compatibilidade com o Flussonic

O Sapsan responde nas URLs habituais do Flussonic Media Server para que os reprodutores, as integrações e o monitoramento existentes continuem funcionando durante a migração. A compatibilidade vem ligada por padrão e pode ser desligada no config:

flussonic:
  streaming: false   # por padrão true

URLs legadas suportadas

Estas formas de endereço são reconhecidas (GET/HEAD; OPTIONS atende CORS preflight):

Legacy URL Comportamento
/<stream>/index.m3u8 HLS; disposição conforme o perfil
/<stream>/index.fmp4.m3u8, /<stream>/index.ll.m3u8 302 para o master HLS nativo
/<stream>/tracks-<tracks>/index.m3u8 (também index.fmp4.m3u8, index.ll.m3u8) HLS com seleção de faixas
/<stream>/variant/<track>/index.m3u8 Playlist de uma faixa
/<stream>/rewind-<seconds>.m3u8 Retrocesso HLS; disposição conforme o perfil
/<stream>/video.m3u8 Master HLS com MPEG-TS multiplexado
/<stream>/video-<from>-<duration>.m3u8 HLS de arquivo com MPEG-TS multiplexado
/<stream>/video-rewind-<seconds>.m3u8 Forma legacy; master misto ao vivo sem retrocesso
/<stream>/index-<from>-<duration>.m3u8, /<stream>/archive-<from>-<duration>.m3u8 (também .fmp4.m3u8) HLS de arquivo
/<stream>/tracks-<tracks>/index-<from>-<duration>.m3u8 (também archive-, .fmp4.m3u8) HLS de arquivo com seleção de faixas
/<stream>/archive-<from>-<duration>.mpd 302 para DASH de arquivo
/<stream>/archive-<from>-<duration>.mp4 302 para exportação do arquivo
/<stream>/tracks-<tracks>/archive-<from>-<duration>.mp4 Exportação com seleção de faixas
/<stream>/info.json, /<stream>/ranges.json, /<stream>/recording_status.json Informações do stream, intervalos do arquivo, estado da gravação
/<stream>/preview.jpg, /<stream>/preview.mp4 Prévia ao 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 Prévia do arquivo
/<stream>/m4f, /<stream>/m4s Transporte legacy ao vivo
/<stream>/archive-<from>-<duration>[.m4f], /<stream>/m4f-<from>-<duration>[.m4f] Fluxo legacy de arquivo; duração também aceita now
/<stream>/YYYY/MM/DD/HH/MM/SS.m4f, /<stream>/YYYY/MM/DD/HH/MM/SS.jpg Segmento legacy do arquivo ou prévia
/<stream>.isml/manifest, /<stream>.isml/Manifest 307 para o manifesto MSS nativo
/<stream>(archive=<from>-<duration>).isml/manifest (também Manifest) Manifesto MSS do arquivo
/<stream>.isml/QualityLevels(<bitrate>)/Fragments(<track>=<time>) (também forma de arquivo .isml) Fragmento MSS

Nas formas m4f, [.m4f] indica uma extensão opcional. As marcas <utc> de prévia podem usar segundos ou milissegundos Unix.

<from> e <duration> são segundos inteiros; a duração deve ser positiva. <tracks> usa números como v1a1. info.json e ranges.json aninhados também são reconhecidos. Os seletores antigos mono, video, video<N>, track-* e txt-* antes de janelas do arquivo são aceitos sem aplicar essa seleção: o master completo é retornado.

As URL HLS neutras (index.m3u8, .m3u8 do arquivo, rewind-…) com um perfil de saída contendo hls retornam o master na disposição do perfil. Sem esse perfil, redirecionam para HLS fMP4 nativo. As formas explícitas .fmp4.m3u8 e .ll.m3u8 mantêm fMP4. A família video* entrega MPEG-TS multiplexado.

Reconhecer uma URL não implica aceitar todos os modos: a exportação .ts e sua duração now retornam 422; rewind de .isml não é compatível. Os endpoints finais aplicam a mesma autorização, limites de licença e disponibilidade do arquivo das URL nativas.

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

As formas video<N>.m3u8 e suas variantes de arquivo/rewind não são compatíveis.

Disposição de playlists nas URL Flussonic

Os endereços neutros index.m3u8, janelas de arquivo .m3u8 e rewind-<seconds>.m3u8 com perfil de dispositivo contendo hls retornam uma playlist com código 200. Sem perfil ou com perfil sem hls, mantêm o redirecionamento 302 para a URL fMP4 nativa com a query original. As janelas de arquivo preservam seus limites; rewind legacy com esse perfil retorna um master ao vivo sem retrocesso. O parâmetro from pode selecionar o arquivo.

O campo hls.output do perfil selecionado pela requisição determina a disposição:

  • fmp4 — fragmentos fMP4.
  • ts — MPEG-TS com faixas de áudio separadas, sob /streaming/v/<stream>/ts/….
  • ts_mux — MPEG-TS com áudio dentro dos segmentos de vídeo, sob /streaming/v/<stream>/ts/mux/….

video.m3u8 sempre retorna a forma mista ts_mux, mesmo sem perfil; o perfil filtra as faixas. video-rewind-<seconds>.m3u8 é reconhecido, mas também retorna um master ao vivo sem retrocesso. As formas explícitas .fmp4.m3u8 e index.ll.m3u8, assim como tracks-…/, mantêm o redirecionamento.

Admissão, sessões, início ondemand e seleção de perfil coincidem com a entrega nativa. Os links são caminhos absolutos sob /streaming/v/<stream>/… com parâmetros de query, incluindo o token. O proxy deve preservar esse prefixo. As famílias independentes mono e timeshift (video-timeshift_rel-…) não são compatíveis. Consulte as disposições nativas e limites de codecs em HLS sobre MPEG-TS.

Admin API v3

A API sob o prefixo /streamer/api/v3 responde no formato do Flussonic Streamer API v3 — veja Admin API. Na conversão de uma configuração v3, alguns campos são descartados de propósito (static, comment, title, segment_duration, listeners https e outros) — o relatório de perdas fica disponível durante a conversão.

Tokens

A reprodução legacy aceita ?token= e Authorization: Bearer. Nessas URL, o token da query tem prioridade sobre o cabeçalho.

O que vem a seguir