Reprodução por HLS e LL-HLS¶
Todo stream do Sapsan está disponível de imediato por HLS (fMP4/CMAF) sem configuração extra. Os streams ao vivo recebem por padrão LL-HLS com segmentos parciais.
URL de reprodução¶
| O que | URL |
|---|---|
| Playlist mestre (todas as qualidades) | http://server/streaming/v/<stream>/index.m3u8 |
| Playlist de uma única trilha | http://server/streaming/v/<stream>/variant/<track>/index.m3u8 |
| Rebobinamento (rewind) | http://server/streaming/v/<stream>/rewind/<segundos-atrás>/index.m3u8 |
| Arquivo por tempo absoluto | http://server/streaming/v/<stream>/index.m3u8?from=<utc_ms>&to=<utc_ms> |
A playlist mestre traz as qualidades com RESOLUTION, FRAME-RATE e CODECS; o áudio vai para grupos rendition (EXT-X-MEDIA). Áudio G.711 (PCMA/PCMU) não é servido por HLS — transcodifique esses streams para AAC primeiro.
LL-HLS¶
Para os streams ao vivo o Sapsan serve um LL-HLS completo (versão 9 do protocolo):
- segmentos parciais
EXT-X-PARTna borda ao vivo eEXT-X-PRELOAD-HINTpara a próxima parte; - blocking playlist reload: os parâmetros de cliente
_HLS_msne_HLS_partseguram a requisição até aparecer o segmento ou a parte pedida; - atualizações delta da playlist:
_HLS_skip=YESencurta a playlist com a tagEXT-X-SKIP; EXT-X-RENDITION-REPORTpara uma troca de qualidade rápida;PART-HOLD-BACK,CAN-SKIP-UNTIL,HOLD-BACKsão calculados automaticamente a partir das durações do segmento e da parte.
O LL-HLS pode ser desativado por cliente com ?llhls=false — a playlist mestre o propaga para todas as URLs das variantes, e o reprodutor recebe um HLS clássico (versão 7).
Tokens nas playlists¶
Se a reprodução estiver protegida por token, ?token= é acrescentado automaticamente a todas as URLs aninhadas da playlist: variantes, segmentos init, segmentos, partes e preload hints. Ao reprodutor basta abrir a playlist mestre com o token.
Quantidade de segmentos¶
O comprimento da playlist ao vivo é definido pelo parâmetro segments do stream:
streams:
- name: tv1
inputs:
- udp: {host: 239.0.0.1, port: 5000}
segments: 6
Diagnóstico¶
O Sapsan traz embutido um validador de playlists HLS: ele estima a latência esperada e aponta problemas de configuração com códigos como LL-DISABLED, TARGETDURATION-INFLATED, PART-TARGET-LARGE, SPARSE-INDEPENDENT-PARTS (GOP longo demais para o LL-HLS).
Note
TODO: como executar o validador (CLI/API).