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).