# MPEG-DASH

Streaming adaptable dinámico sobre HTTP (DASH), también conocido como MPEG-DASH, es una técnica de streaming compatible con Fluid Player.

Un archivo de descripción de presentación multimedia (MPD) contiene información segmentada. Los segmentos individuales se describen en [este artículo](https://www.brendanlong.com/the-structure-of-an-mpeg-dash-mpd.html).

Los segmentos contienen información sobre los tiempos, la URL, la resolución, las tasas de bits, etc., lo que informa al reproductor qué servir al cliente dependiendo de la disponibilidad de ancho de banda.

Los detalles completos sobre el protocolo MPEG-DASH se pueden encontrar en la [Wikipedia](https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP).

La transmisión en vivo se indicará mediante un indicador en vivo mostrado junto con la barra de control.

Fluid Player hace uso de [Dash.js](https://github.com/Dash-Industry-Forum/dash.js) para reproducir archivos MPD. Una vez que un `.mpd` archivo se establece como la fuente, Fluid Player lo reproducirá, como se puede ver en el siguiente ejemplo.

```html
<video id='dash-video'>
    <source src='stream_dash.mpd' type='application/dash+xml'/>
</video>

<script>
fluidPlayer(
    'dash-video',
    {
        layoutControls: {
            fillToContainer: true
        }
    }
);
</script>
```

## Personalización de MPEG-DASH

Fluid Player tiene ganchos que admiten `dashjs` configuración, se puede encontrar una lista completa de propiedades configurables en la [oficial `dashjs` documentación de la API](http://cdn.dashjs.org/latest/jsdoc/index.html).

A continuación se muestra un ejemplo de configuración en la que puedes establecer la longitud máxima del búfer y la calidad de transmisión con la que se iniciará el video.

```javascript
fluidPlayer('fluid-player', {
    modules: {
        configureDash: (options) => {
            return {
                stableBufferTime: 30, // Longitud máxima del video almacenado en búfer en segundos
                initialBufferLevel: 4, // Nivel de calidad inicial
                ...options,
            }
        },
        onBeforeInitDash: (dash) => {
            dash.setQualityFor('video', 4); // Establecer programáticamente el nivel de calidad para el siguiente segmento
        },
        onAfterInitDash: (dash) => {
            dash.setQualityFor('video', 4); // Establecer programáticamente el nivel de calidad para el siguiente segmento
        },
    }
});
```

Para obtener más información sobre el uso de ganchos, consulta la [configuración avanzada](/es/configuracion/advanced-configuration.md) página.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fluidplayer.com/es/streaming/mpeg-dash.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
