Skip to content

Reprodução por DASH

Todo stream do Sapsan está disponível por MPEG-DASH: tanto ao vivo quanto o arquivo.

URL de reprodução

O que URL
Manifesto ao vivo http://server/streaming/v/<stream>/Manifest.mpd
Arquivo por tempo absoluto http://server/streaming/v/<stream>/Manifest.mpd?from=<utc_ms>&to=<utc_ms>

Manifesto ao vivo

Um MPD dinâmico (perfil isoff-live): todas as qualidades de um stream MBR vivem em um único AdaptationSet de vídeo como Representation separadas, ordenadas por bitrate crescente — os reprodutores constroem corretamente a escada ABR. A janela timeShiftBufferDepth e o suggestedPresentationDelay são calculados automaticamente (o atraso é de uns dois segmentos atrás da borda ao vivo).

Manifesto do arquivo

O MPD do arquivo é estático. As lacunas da gravação tornam-se <Period> separados, e a linha do tempo é escolhida com o parâmetro ?timeline=:

  • compact (padrão) — as lacunas colapsam e o arquivo toca de forma contínua;
  • wallclock — as lacunas são preservadas e a linha do tempo corresponde ao tempo real.

O bandwidth de cada Representation é medido a partir dos dados reais do intervalo solicitado. Se o arquivo tiver uma trilha JPEG de capturas, ela é exposta como um AdaptationSet padrão de thumbnail tile.

Diagnóstico

O validador de DASH embutido verifica um manifesto: o alinhamento dos tempos de início das trilhas da escada ABR, as lacunas e as sobreposições na SegmentTimeline entre atualizações, e o desvio da borda ao vivo entre áudio e vídeo. O modo (static/live) é detectado automaticamente a partir do @type do manifesto.

Note

TODO: como executar o validador, reprodutores verificados (dash.js, ExoPlayer).

O que vem a seguir