Skip to content

Reproducción por DASH

Todo stream de Sapsan está disponible por MPEG-DASH: tanto en vivo como el archivo.

URL de reproducción

Qué URL
Manifiesto en vivo http://server/streaming/v/<stream>/Manifest.mpd
Archivo por tiempo absoluto http://server/streaming/v/<stream>/Manifest.mpd?from=<utc_ms>&to=<utc_ms>

Manifiesto en vivo

Un MPD dinámico (perfil isoff-live): todas las calidades de un stream MBR viven en un único AdaptationSet de vídeo como Representation separadas, ordenadas por bitrate ascendente — los reproductores construyen correctamente la escalera ABR. La ventana timeShiftBufferDepth y el suggestedPresentationDelay se calculan automáticamente (el retraso es de unos dos segmentos respecto al borde en vivo).

Manifiesto del archivo

El MPD del archivo es estático. Los huecos de la grabación se convierten en <Period> separados, y la línea de tiempo se elige con el parámetro ?timeline=:

  • compact (por defecto) — los huecos se contraen y el archivo se reproduce de forma continua;
  • wallclock — los huecos se conservan y la línea de tiempo coincide con el tiempo real.

El bandwidth de cada Representation se mide a partir de los datos reales del rango solicitado. Si el archivo tiene una pista JPEG de capturas, esta se expone como un AdaptationSet estándar de thumbnail tile.

Diagnóstico

El validador de DASH incorporado comprueba un manifiesto: la alineación de los tiempos de inicio de las pistas de la escalera ABR, los huecos y los solapamientos en la SegmentTimeline entre actualizaciones, y la deriva del borde en vivo entre audio y vídeo. El modo (static/live) se detecta automáticamente a partir del @type del manifiesto.

Note

TODO: cómo ejecutar el validador, reproductores verificados (dash.js, ExoPlayer).

Qué viene después