Manifiestos DASH compactados - 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 DASH compactados

AWS Elemental ofrece la posibilidad de compactar los manifiestos de DASH para mejorar el rendimiento y el procesamiento en dispositivos de bajo consumo, tanto en modo VOD como en directo MediaPackage.

El manifiesto DASH predeterminado de MediaPackage incluye datos duplicados sobre 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 la carga, MediaPackage puede compactar el manifiesto moviendo algunos atributos delRepresentation objeto alAdaptationSet objeto. 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 información sobre cómo compactar un manifiesto de DASH, consulte Cómo se MediaPackage compactan los manifiestos de AWS Elemental.

Cómo AWS Elemental MediaPackage Compact

Para compactar el manifiesto de DASH desde la MediaPackage consola de AWS Elemental, elija Compact for Manifest layout en el endpoint 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 siempre utilizan la misma velocidad, por lo que MediaPackage siempre compacta los conjuntos de adaptación con los 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$RepresentationID$ variable amedia las URL deinitialization solicitud. El dispositivo de reproducción reemplaza esta variable por el ID de la representación que solicita actualmente. MediaPackage también mueve elContentProtection elemento, cuando está presente, al conjunto de adaptación.

  • Si las tasas son diferentes entre las representaciones, MediaPackage compacta y mueve las tasasSegmentTemplate con la tarifa más frecuente a laAdaptationSet. 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 vídeo, 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.