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á.
Filtragem de manifestos
Com a filtragem de manifestos, o AWS Elemental MediaPackage produz dinamicamente manifestos de clientes com base em parâmetros especificados em uma consulta associada à sua solicitação de reprodução. Isso permite que você execute ações como restringir o acesso do visualizador a conteúdo HEVC 4K premium ou direcionar tipos específicos de dispositivos e intervalos de taxa de amostragem de áudio, tudo diretamente de um único endpoint. Anteriormente, você precisaria configurar vários endpoints para realizar esse comportamento. MediaPackage agora fornece uma maneira econômica de produzir dinamicamente diferentes manifestos de clientes no mesmo endpoint.
Trabalhar com filtros de manifesto
Ao usar um filtro de manifesto, o manifesto resultante inclui apenas os fluxos de áudio e vídeo correspondentes às características especificadas na consulta. Se nenhum filtro de manifesto for usado, todos os fluxos ingeridos estarão presentes no fluxo de saída do endpoint. A exceção a isso é se você tiver definido filtros de fluxo para o endpoint, como taxa mínima de bits de vídeo. Nesse caso, o filtro de manifesto será aplicado após o filtro de fluxo, o que poderá distorcer a saída, portanto, não é recomendado.
A filtragem de manifestos pode ser usada em todos os tipos de endpoints compatíveis com: MediaPackage
-
Apple HLS
-
DASH-ISO
-
Microsoft Smooth Streaming
-
CMAF
Para usar a filtragem de manifesto, anexe parâmetros de aws.manifestfilter
consulta à sua solicitação de reprodução para. MediaPackage MediaPackage avalia a consulta e exibe um manifesto do cliente com base nesses parâmetros de consulta. As consultas de manifesto não diferenciam maiúsculas de minúsculas e podem ter até 1024 caracteres. Se a consulta estiver malformada, ou se não houver fluxos que correspondam aos parâmetros de consulta, o MediaPackage retornará um manifesto incompleto ou vazio. Para sintaxe de consulta, consulte a seção a seguir.
nota
Se você estiver usando endpoints Apple HLS ou CMAF, haverá condições especiais aplicáveis. Para obter informações sobre essas condições, consulte Condições especiais para manifestos HLS e CMAF.
Sintaxe de consulta
O parâmetro de consulta base é aws.manifestfilter
, que é seguido por pares de nome de parâmetro e valor opcionais. Para criar a consulta, anexe ?aws.manifestfilter=
ao final do URL do MediaPackage endpoint, seguido pelos nomes e valores dos parâmetros. Para obter uma lista de todos os parâmetros disponíveis, consulte Parâmetros de consulta de filtro de manifesto.
Uma consulta de filtro Apple HLS pode ser semelhante a esta:
https://example-mediapackage-endpoint.mediapackage.us-west-2.amazonaws.com/out/v1/examplemediapackage/index.m3u8
?aws.manifestfilter=audio_sample_rate:0-44100;video_bitrate:0-2147483647;video_codec:h265;audio_language:fr,en-US,de
A sintaxe da consulta está listada na tabela a seguir.
Componente da string da consulta | Descrição |
---|---|
? |
Um caractere restrito que marca o início de uma consulta. |
aws.manifestfilter= |
A consulta base, que é seguida por parâmetros criados de pares de nome e valor. Para obter uma lista de todos os parâmetros disponíveis, consulte Parâmetros de consulta de filtro de manifesto. |
: |
Usado para associar o nome do parâmetro a um valor. Por exemplo, . |
; |
Separa parâmetros em uma consulta que contém vários parâmetros. Por exemplo, . |
, |
Separa uma lista de valores. Por exemplo, parameter_name: . Valores separados por vírgulas em uma lista implicam um relacionamento OR . |
- |
Usado para definir um intervalo de valor mínimo - máximo de um parâmetro. Por exemplo, audio_sample_rate:0-44100 . Quando um valor numérico é usado em um intervalo, ele é incluído na definição do intervalo. Isso significa que os fluxos devem ser maiores ou iguais ao valor mínimo e menores ou iguais ao valor máximo. Com intervalos, os valores mínimo e máximo são obrigatórios. Os valores de intervalo compatíveis são 0 - 2147483647 . |
nota
Se você usa a Amazon CloudFront como sua CDN, talvez seja necessário definir configurações adicionais. Para obter mais informações, consulte Configurar o comportamento do cache para todos os endpoints.
Parâmetros de consulta de filtro de manifesto
MediaPackage suporta os seguintes parâmetros de consulta.
Categoria | Nome | Descrição | Exemplo |
---|---|---|---|
Áudio | audio_bitrate |
|
stream.mpd?aws.manifestfilter=audio_bitrate:0-2147483647 |
Áudio | audio_channels |
|
stream.mpd?aws.manifestfilter=audio_channels:1-8 |
Áudio | audio_codec |
|
stream.mpd?aws.manifestfilter=audio_codec:AACL,AC-3 |
Áudio | audio_language |
|
stream.mpd?aws.manifestfilter=audio_language:fr,en-US,de |
Áudio | audio_sample_rate |
|
stream.mpd?aws.manifestfilter=audio_sample_rate:0-44100 |
Legenda | subtitle_language |
|
stream.mpd?aws.manifestfilter=subtitle_language:en-US, hi |
Vídeo | trickplay_height |
|
stream.mpd?aws.manifestfilter=trickplay_height:200-1200 |
Vídeo | trickplay_type |
|
stream.mpd?aws.manifestfilter=trickplay_type:iframe |
Vídeo | video_bitrate |
|
stream.mpd?aws.manifestfilter=video_bitrate:0-2147483647 |
Vídeo | video_codec |
|
stream.mpd?aws.manifestfilter=video_codec:h264 |
Vídeo | video_dynamic_range |
|
stream.mpd?aws.manifestfilter=video_dynamic_range:hdr10 |
Vídeo | video_framerate |
|
stream.mpd?aws.manifestfilter=video_framerate:23.976-30 |
Vídeo | video_height |
|
stream.mpd?aws.manifestfilter=video_height:720-1080 |
Exemplos de filtragem de manifestos
Veja a seguir exemplos de filtragem de manifestos.
exemplo 1: Selecionar um player que ofereça suporte a AVC e uma taxa de amostragem de áudio de 44,1 k
O visualizador está reproduzindo conteúdo em um dispositivo que só oferece suporte a AVC e a uma taxa de amostragem de áudio de 44,1 k. Defina o video_codec
e o audio_sample_rate
para filtrar fluxos que não atendam a esses requisitos.
?aws.manifestfilter=audio_sample_rate:0-44100;video_codec:h264
exemplo 2: Restringir o conteúdo HEVC 4K
Seu fluxo HEVC 4K é de 15 Mbps, e todos os seus outros fluxos têm menos de 9 Mbps. Para excluir o fluxo 4K do conjunto de fluxos, defina um limite de 9.000.000 bits por segundo para filtrar a taxa de bits mais alta.
?aws.manifestfilter=video_bitrate:0-9000000
exemplo 3: Incluir um vídeo entre 23.976 e 30 quadros por segundo
Para incluir somente um vídeo dentro de um determinado intervalo de taxa de quadros, use video_framerate
. Este parâmetro aceita números de ponto flutuante com até três valores decimais opcionais.
?aws.manifestfilter=video_framerate:23.976-30
Condições especiais para manifestos HLS e CMAF
Se você estiver usando manifestos HLS ou CMAF, estas condições especiais serão aplicáveis.
-
Para manifestos HLS, é altamente recomendável utilizar grupos de versões de áudio para evitar a remoção dos fluxos de vídeo que são multiplexados com os fluxos de áudio filtrados. Para obter mais informações sobre grupos de versões, consulte Referência de grupos de versões no AWS Elemental MediaPackage.
-
Em manifestos HLS e CMAF, a taxa de amostragem de áudio não é sinalizada, portanto, não é fácil verificar visualmente os manifestos originais ou filtrados para essa configuração. Para verificar a taxa de amostragem de áudio, verifique a taxa de amostragem de áudio no nível do codificador e no nível de saída.
-
Em manifestos HLS e CMAF, o atributo
BANDWIDTH
de uma variante associa a largura de banda da faixa de áudio à faixa de vídeo, seja ela multiplexada com a faixa de vídeo ou uma faixa de versões de áudio referenciada pela faixa de vídeo. Portanto, não é possível inspecionar visualmente os manifestos originais e filtrados para confirmar se o filtrovideo_bitrate
funcionou. Para verificar o filtro, verifique a taxa de bits do vídeo nos níveis do codificador e da saída. -
Para manifestos HLS e CMAF, os parâmetros de solicitação acrescentados a listas de reprodução ou segmentos de taxa de bits resultam em um erro HTTP 400.
Condições de erro
As condições de erro comuns estão listadas na tabela a seguir.
Condição de erro | Exemplo | Código de status HTTP |
---|---|---|
Um parâmetro de lista não é encontrado e não faz parte de uma lista restrita | ?aws.manifestfilter=audio_language:dahlia |
200 |
Somente transmissões de legendas estão presentes no fluxo | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
200 |
Parâmetro de filtro duplicado | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=audio_sample_rate:0-48000 |
400 |
Parâmetro inválido | ?aws.manifestfilter=donut_type:rhododendron |
400 |
Parâmetro de intervalo inválido | ?aws.manifestfilter=audio_sample_rate:300-0 |
400 |
Valor de intervalo inválido (mais de INT_MAX ) |
?aws.manifestfilter=audio_sample_rate:0-2147483648 |
400 |
String de consulta malformada | ?aws.manifestfilter=audio_sample_rate:is:0-44100 |
400 |
A string de parâmetro tem mais de 1024 caracteres | ?aws.manifestfilter=audio_language:abcdef.... |
400 |
Parâmetros de consulta em um manifesto de taxa de bits HLS ou CMAF | index_1.m3u8?aws.manifestfilter=video_codec:h264 |
400 |
Parâmetros de consulta em uma solicitação de segmento | ..._1.[ts|mp4|vtt..]?aws.manifestfilter=video_codec:h264 |
400 |
Parâmetro de consulta repetida | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=video_bitrate:0-1 |
400 |
A aplicação do filtro resulta em um manifesto vazio (o conteúdo não tem fluxos que atendam às condições definidas na string de consulta) | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
400 |