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á.
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 padrão do DASH 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 parte da carga, MediaPackage pode compactar o manifesto movendo alguns atributos do Representation
objeto para o AdaptationSet
objeto. 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 os AWS Elemental MediaPackage compactos se manifestam
Para compactar o manifesto do DASH a partir do AWS Elemental MediaPackage console, escolha o layout Compact for Manifest no endpoint do 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 o manifesto pode ser compactado.
nota
As faixas de legendas sempre usam a mesma taxa, então MediaPackage sempre compacte os conjuntos de adaptação com legendas.
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 em todas as representações, MediaPackage adicione uma$RepresentationID$
variável àinitialization
solicitaçãomedia
URLs e. O dispositivo de reprodução substitui essa variável pelo ID da representação que ele está solicitando no momento. MediaPackage também move oContentProtection
elemento, quando está presente, para o conjunto de adaptação.-
Se as taxas forem diferentes entre as representações, MediaPackage compacta e move a
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 compacta 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.