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ívelAdaptationSet
. 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çãomedia
einitialization
. 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 elementoContentProtection
, 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 oAdaptationSet
. 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.