Manifiestos de DASH compactos - AWS Elemental MediaPackage

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Manifiestos de DASH compactos

La capacidad de compactar los manifiestos de DASH para mejorar el rendimiento y el procesamiento en dispositivos de bajo consumo tanto para VOD como en directo está disponible en AWS Elemental MediaPackage.

El manifiesto de DASH predeterminado de MediaPackage incluye datos duplicados de cada representación (pista). En algunos reproductores, el procesamiento de un manifiesto con todos estos datos es un proceso complicado y lento. Para reducir parte de esta carga, MediaPackage puede compactar el manifiesto moviendo algunos atributos del objeto Representation al objeto AdaptationSet. De esta forma, en lugar de tener los atributos definidos para cada representación en el manifiesto, se definen una sola vez de manera general. Las representaciones heredan después estos atributos del conjunto de adaptaciones.

ejemplo Manifiesto de DASH predeterminado

En el siguiente ejemplo, el objeto SegmentTemplate y todos sus elementos se enumeran en cada Representation. Cada adaptación definida en el manifiesto tiene este mismo diseño:

<AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <Representation id="1" width="640" height="360" frameRate="30/1" bandwidth="749952" codecs="avc1.640029"> <SegmentTemplate timescale="30000" media="index_video_1_0_$Number$.mp4?m=1543947824" initialization="index_video_1_0_init.mp4?m=1543947824" startNumber="1"> <SegmentTimeline> <S t="62000" d="60000" r="9"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="2" width="854" height="480" frameRate="30/1" bandwidth="1000000" codecs="avc1.640029"> <SegmentTemplate timescale="30000" media="index_video_3_0_$Number$.mp4?m=1543947824" initialization="index_video_3_0_init.mp4?m=1543947824" startNumber="1"> <SegmentTimeline> <S t="62000" d="60000" r="9"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="3" width="1280" height="720" frameRate="30/1" bandwidth="2499968" codecs="avc1.640029"> <SegmentTemplate timescale="30000" media="index_video_5_0_$Number$.mp4?m=1543947824" initialization="index_video_5_0_init.mp4?m=1543947824" startNumber="1"> <SegmentTimeline> <S t="62000" d="60000" r="9"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet>
ejemplo Manifiesto de DASH compacto

En este ejemplo, los objetos SegmentTemplate y todos sus elementos se contraen en uno solo y se mueven a AdaptationSet. El dispositivo de reproducción entiende que cada representación de este conjunto de adaptaciones utiliza esta misma plantilla:

<AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <SegmentTemplate timescale="30000" media="index_video_$RepresentationID$_0_$Number$.mp4?m=1543947824" initialization="index_video_$RepresentationID$_0_init.mp4?m=1543947824" startNumber="1"> <SegmentTimeline> <S t="62000" d="60000" r="9"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" width="640" height="360" frameRate="30/1" bandwidth="749952" codecs="avc1.640029"/> <Representation id="2" width="854" height="480" frameRate="30/1" bandwidth="1000000" codecs="avc1.640029"/> <Representation id="3" width="1280" height="720" frameRate="30/1" bandwidth="2499968" codecs="avc1.640029"/> </AdaptationSet>

Para obtener más información acerca de cómo compactar un manifiesto de DASH, consulte Cómo AWS Elemental MediaPackage compacta los manifiestos.

Cómo AWS Elemental MediaPackage compacta los manifiestos

Para compactar el manifiesto de DASH desde la consola de AWS Elemental MediaPackage, elija Compact (Compacto) en Manifest layout (Diseño del manifiesto) en el punto de enlace de DASH. Para asegurarse de que las pistas están disponibles en el momento adecuado, MediaPackage comprueba la velocidad de fotograma y la frecuencia de muestreo de audio en el contenido de origen para determinar si el manifiesto se puede compactar.

nota

Las pistas de subtítulos utilizan siempre la misma velocidad, por lo que MediaPackage siempre compacta los conjuntos de adaptaciones con subtítulos.

MediaPackage realiza las siguientes acciones:

  • Si las velocidades son las mismas en todas las representaciones de un conjunto de adaptaciones, MediaPackage contrae todos los objetos SegmentTemplate en uno solo y los mueve al nivel AdaptationSet. De esta forma, la información de la plantilla no se repite en el manifiesto. Para permitir que el dispositivo de reproducción utilice la misma información de plantilla en todas las representaciones, MediaPackage añade una variable $RepresentationID$ a las direcciones URL de las solicitudes media y initialization. El dispositivo de reproducción reemplaza esta variable por el ID de la representación que solicita actualmente. MediaPackage también traslada el elemento ContentProtection, cuando está presente, al set de adaptación.

  • Si las velocidades son diferentes en las representaciones, MediaPackage compacta y mueve el SegmentTemplatecon la velocidad más frecuente a AdaptationSet. Las representaciones con una velocidad diferente mantienen su plantilla de segmentos. La velocidad de la representación invalida la del conjunto de adaptaciones.

  • Si hay exactamente dos velocidades de fotograma en un conjunto de adaptaciones de video, MediaPackage compacta el manifiesto de la manera siguiente:

    • Cuando se utilizan 24 y 48, la plantilla compactada utiliza 48 para la velocidad de fotograma y 48000 para la base temporal.

    • Cuando se utilizan 25 y 50, la plantilla compactada utiliza 50 para la velocidad de fotograma y 50000 para la base temporal.

    • Cuando se utilizan 29,97 y 59,94, la plantilla compactada utiliza 59,95 para la velocidad de fotograma y 60000 para la base temporal.

    • Cuando se utilizan 30 y 60, la plantilla compactada utiliza 60 para la velocidad de fotograma y 60000 para la base temporal.

    Si se utilizan dos velocidades de fotograma de vídeo, pero ninguna de ellas se corresponde con los patrones duplicados indicados arriba, el conjunto no se puede compactar.

  • Si no hay velocidades duplicadas en las representaciones de un conjunto de adaptaciones, el conjunto no se puede compactar.