Manifestos DASH compactados - AWS Elemental MediaPackage

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Manifestos DASH compactados

A capacidade de compactar manifestos DASH para melhorar o desempenho e o processamento em dispositivos de baixa potência para conteúdo de VOD e ao vivo está disponível no AWS Elemental MediaPackage.

O manifesto DASH padrão do MediaPackage inclui dados duplicados sobre cada representação (faixa). Para alguns jogadores, processar um manifesto com todos esses dados é difícil e lento. Para reduzir um pouco da carga, o MediaPackage pode compactar o manifesto movendo alguns atributos do objeto Representation para o objeto AdaptationSet. Dessa forma, em vez de ter os atributos definidos para cada representação no manifesto, eles são definidos uma vez em um nível mais alto. As representações herdam esses atributos do conjunto de adaptações.

exemplo Manifesto DASH padrão

No exemplo a seguir, o objeto SegmentTemplate e todos os seus elementos são listados em toda Representation. Cada conjunto de adaptações no manifesto tem esse mesmo layout:

<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>
exemplo Manifesto DASH compactado

Neste exemplo, os objetos SegmentTemplate e todos os seus elementos são compactados em um e movidos para o AdaptationSet. O dispositivo de reprodução entende que cada representação neste conjunto de adaptações usa esse mesmo modelo:

<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 obter informações sobre a compactação de um manifesto DASH, consulte Como o AWS Elemental MediaPackage compacta manifestos DASH.

Como o AWS Elemental MediaPackage compacta manifestos

Para compactar o manifesto DASH no console do AWS Elemental MediaPackage, selecione Compact (Compactar) para Manifest layout (Layout do manifesto) no endpoint DASH. Para garantir que as faixas estejam disponíveis no momento certo, o MediaPackage verifica a taxa de quadros e a taxa de amostragem de áudio no conteúdo de origem para determinar se é possível compactar o manifesto.

nota

As faixas de legendas sempre usam a mesma taxa, portanto o MediaPackage sempre compacta conjuntos de adaptação com legendas.

O MediaPackage executa as seguintes ações:

  • Se as taxas forem as mesmas em todas as representações em um conjunto de adaptações, o MediaPackage compacta todos os objetos SegmentTemplate em um e o move para o nível AdaptationSet. Dessa forma, as informações no modelo não são repetidas em todo o manifesto. Para permitir que o dispositivo de reprodução use as mesmas informações do modelo nas representações, o MediaPackage adiciona uma variável $RepresentationID$ aos URLs de solicitação media e initialization. O dispositivo de reprodução substitui essa variável pelo ID da representação que ele está solicitando na ocasião. O MediaPackage também move o elemento ContentProtection, quando ele estiver presente, para o conjunto de adaptação.

  • Se as taxas forem diferentes nas representações, o MediaPackage vai compactar e mover SegmentTemplate com a taxa mais frequente para o AdaptationSet. As representações com uma taxa diferente mantêm seu modelo de segmento. A taxa para a representação substitui a do conjunto de adaptações.

  • Se houver exatamente duas taxas de quadro em uso em um conjunto de adaptações de vídeo, o MediaPackage vai compactar da seguinte forma:

    • Quando 24 e 48 são usadas, o modelo compactado usa 48 para a taxa de quadros e 48.000 para a base de tempo.

    • Quando 25 e 50 são usadas, o modelo compactado usa 50 para a taxa de quadros e 50.000 para a base de tempo.

    • Quando 29,97 e 59,94 são usadas, o modelo compactado usa 59,95 para a taxa de quadros e 60.000 para a base de tempo.

    • Quando 30 e 60 são usadas, o modelo compactado usa 60 para a taxa de quadros e 60.000 para a base de tempo.

    Se houver duas taxas de quadros de vídeo em uso, mas elas não estiverem em um dos padrões duplicados acima, esse conjunto não poderá ser compactado.

  • Se não houver taxas duplicadas nas representações em um conjunto de adaptações, cada conjunto não poderá ser compactado.