Embalagem dinâmica em Media Services v3

Logotipo dos Serviços de Mídia v3


Site da | AMS Documentação v2 dos Serviços de Comunicação | Social v2 Amostras de | código Guia de resolução de problemas

A Azure Media Services fornece capacidades de servidor e embalagem de origem incorporadas para fornecer conteúdo em formatos de protocolo de streaming HLS e MPEG DASH. Na AMS, o ponto final de streaming funciona como o servidor de "origem" que envia conteúdo HLS e DASH formatado para os jogadores clientes que suportam o streaming de bitrate adaptativo utilizando esses formatos populares. O Streaming Endpoint também suporta muitas funcionalidades, como embalagens just-in-time, dinâmicas, com ou sem proteção de conteúdos, para chegar a todos os principais dispositivos (como dispositivos iOS e Android).

A maioria dos navegadores e dispositivos móveis no mercado hoje em dia suportam e compreendem os protocolos de streaming HLS ou DASH. Por exemplo, o iOS requer que os streams sejam entregues em formato HTTP Live Streaming (HLS) e dispositivos Android suportam HLS, bem como MPEG DASH em determinados modelos (ou através da utilização do jogador de nível de aplicação Exoplayer para dispositivos Android.

Nos Media Services, um ponto final de streaming (origem) representa um serviço dinâmico (just-in-time) de embalagem e origem que pode entregar o seu conteúdo ao vivo e a pedido diretamente a uma aplicação de cliente. Utiliza um dos protocolos comuns de streaming mencionados na secção seguinte. A embalagem dinâmica é uma característica que vem de série em todos os pontos finais de streaming.

embalagem dinâmica

As vantagens das embalagens just-in-time são as seguintes:

  • Pode armazenar todos os seus ficheiros no formato de ficheiro MP4 padrão.
  • Não precisa de armazenar várias cópias de formatos estáticos de HLS e DASH embalados em armazenamento de bolhas, o que reduz a quantidade de conteúdo de vídeo armazenado e reduz os custos de armazenamento.
  • Pode usufruir instantaneamente de novas atualizações e alterações nas especificações sem necessidade de reaubalar o conteúdo estático no seu catálogo.
  • Pode entregar conteúdo com ou sem encriptação e DRM utilizando os mesmos ficheiros MP4 armazenados.
  • Pode filtrar ou alterar dinamicamente os manifestos com filtros simples de nível de ativos ou globais para remover faixas específicas, resoluções, idiomas ou fornecer clips de destaque mais curtos dos mesmos ficheiros MP4 sem recodificá-lo ou re-renderizar o conteúdo.

Para preparar os seus ficheiros de origem para entrega

Para tirar partido da embalagem dinâmica, codifique o seu ficheiro mezanino (fonte) num conjunto de ficheiros MP4 (ISO Base Media 14496-12). Os ficheiros de vídeo codificados e os ficheiros de configuração de streaming estarão localizados num ativo de saída. A partir deste conjunto de ficheiros, pode utilizar embalagens dinâmicas para entregar vídeo através dos protocolos de streaming de meios de comunicação.

Normalmente, utilizará o codificadora padrão Azure Media Services para gerar este conteúdo utilizando as predefinições de codificação de conteúdos conscientes ou as predefinições bitrate adaptativas. Ambos geram um conjunto de ficheiros MP4 prontos para streaming e embalagem dinâmica.

Em alternativa, pode optar por codificar utilizando um serviço externo, no local ou nos seus próprios VMs ou aplicações de função sem servidor. Os conteúdos codificados externamente podem ser enviados para um ativo para streaming, desde que satisfaça os requisitos de codificação para formatos de streaming bitrate adaptativos. Um exemplo de upload de um MP4 pré-codificado para streaming está disponível nas amostras .NET SDK - consulte os ficheiros Mp4 existentes em stream.

A embalagem dinâmica Azure Media Services suporta apenas ficheiros de vídeo e áudio no formato de contentorES MP4. Os ficheiros de áudio também devem ser codificados num recipiente MP4 quando utilizarem códigos alternativos como o Dolby.

Disponibilizar vídeos para streaming

Para disponibilizar vídeos no ativo codificado aos clientes para reprodução, publique o ativo utilizando um Localizador de Streaming e construa os URLs de streaming HLS e DASH apropriados. Ao alterar o protocolo utilizado na consulta de formato URL, o serviço fornecerá o manifesto de streaming apropriado (HLS, MPEG DASH.)

Como resultado, só precisa de armazenar e pagar os ficheiros em formato único de armazenamento (MP4) e os Serviços de Media gerarão e servirão os manifestos HLS ou DASH apropriados com base em pedidos dos seus clientes.

Se planeia proteger o seu conteúdo utilizando encriptação dinâmica dos Media Services, consulte protocolos de streaming e tipos de encriptação.

Entregar HLS

Embalagem dinâmica HLS

O seu cliente de streaming pode especificar os seguintes formatos HLS. Recomendamos a utilização do formato CMAF para compatibilidade com os mais recentes jogadores e dispositivos iOS. Para dispositivos antigos, os formatos V4 e V3 também estão disponíveis, alterando simplesmente a cadeia de consulta de formato.

Protocolo Cadeia de formato Exemplo
HLS CMAF formato=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
HLS V4 formato=m3u8-aapl https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-aapl)
HLS V3 formato=m3u8-aapl-v3 https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-aapl-v3)

Nota

As diretrizes anteriores da Apple recomendaram que o recuo para redes de largura de banda baixa fosse fornecer um fluxo apenas de áudio. Atualmente, o codificadora Media Services gera automaticamente uma faixa apenas áudio. As diretrizes da Apple afirmam agora que a faixa apenas para áudio não deve ser incluída, especialmente para a distribuição da Apple TV. Para evitar que o leitor falhe numa faixa apenas áudio, sugerimos a utilização da etiqueta "audio-only=falso" no URL que remove a rendição apenas áudio no HLS ou simplesmente utilizar o HLS-V3. Por exemplo, http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false).

Rácio de embalagem HLS para VOD

Para controlar a relação de embalagem do conteúdo VOD para formatos HLS mais antigos, pode definir a etiqueta de metadados Desegment fragmentados No ficheiro .ism para controlar a relação de embalagem padrão de 3:1 para segmentos TS entregues a partir dos manifestos de formato V3 e V4 HLS mais antigos. Esta alteração de definição requer que você modifique diretamente o ficheiro .ism no armazenamento para ajustar a relação de embalagem.

Exemplo .ism servidor manifesto com fragmentosPerHLSSegment definido para 1.

   <?xml version="1.0" encoding="utf-8" standalone="yes"?>
   <smil xmlns="http://www.w3.org/2001/SMIL20/Language">
      <head>
         <meta name="formats" content="mp4" />
         <meta name="fragmentsPerHLSSegment" content="1"/>
      </head>
      <body>
         <switch>
         ...
         </switch>
      </body>
   </smil>

Entregar DASH

Embalagem dinâmica DASH

O seu cliente de streaming pode especificar os seguintes formatos MPEG-DASH:

Protocolo Cadeia de formato Exemplo
MPEG-DASH CMAF formato=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
MPEG-DASH CSF (legado) formato=mpd-time-csf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-csf)

Entregar manifestos de streaming suave

Embalagem dinâmica de streaming suave

O seu cliente de streaming pode especificar os seguintes formatos de Streaming Suave:

Protocolo Notas/exemplos
Transmissão em Fluxo Uniforme https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest
Streaming Suave 2.0 (manifesto legado) Por predefinição, o formato manifesto de streaming suave contém a etiqueta de repetição (r-tag). No entanto, alguns jogadores não apoiam o r-tag. Os clientes com estes jogadores podem utilizar um formato que desativa a marca r:00:

https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=fmp4-v20)

Nota

O Smooth Streaming requer que tanto o áudio como o vídeo estejam presentes no seu stream.

Fluxo de trabalho de streaming a pedido

Os passos a seguir mostram um fluxo de trabalho comum de streaming de Serviços de Media onde a embalagem dinâmica é utilizada juntamente com o Standard Encoder em Azure Media Services.

  1. Faça o upload de um ficheiro de entrada como um MP4, QuickTime/MOV ou outro formato de ficheiro suportado. Este ficheiro também é referido como o mezanino ou o ficheiro de origem. Para a lista de formatos suportados, consulte Formatos Suportados pelo Codificadores Standard.

  2. Codificar o seu ficheiro mezanino num conjunto de bitrate adaptativo H.264/AAC MP4.

    Se já tiver ficheiros codificados e apenas quiser copiar e transmitir os ficheiros, utilize: CopyVideo e CopyAudio APIs. Um novo ficheiro MP4 com um manifesto de streaming (.ficheiro ism) será criado como resultado.

    Além disso, pode apenas gerar o ficheiro .ismc e .ismc num ficheiro pré-codificado, desde que seja codificado utilizando as definições certas para o streaming de bitrate adaptativo (isto é tipicamente GOPs de 2 segundos, distâncias de quadro de 2s min e máx, e codificação do modo Bitrate Constante (CBR).

    Consulte a amostra mp4 .NET SDK existente para obter detalhes sobre como gerar o .ism (manifesto do servidor) e .ismc (manifestos de clientes) para streaming a partir de um ficheiro MP4 pré-codificado existente.

  3. Publique o ativo de saída que contém o conjunto de MP4 de bittrato adaptativo. Publica criando um localizador de streaming.

  4. Construa URLs que visam diferentes formatos (HLS, MPEG-DASH e Smooth Streaming). O ponto final de streaming cuidaria de servir o manifesto correto e os pedidos para todos estes formatos diferentes.

O caminho de descarregamento está presente na imagem acima apenas para mostrar que pode baixar um ficheiro MP4 diretamente através do ponto final de streaming (origem) (especifica a política de streaming descarregada no localizador de streaming).
O embalador dinâmico não está a alterar o ficheiro. Pode utilizar opcionalmente as APIs de armazenamento de blob Azure para aceder diretamente a um MP4 para download progressivo se desejar contornar as funcionalidades de ponta de streaming (origem).

Codificar para adaptáveis bitrate MP4s

Os seguintes artigos mostram exemplos de como codificar um vídeo com os Media Services:

Consulte a lista de formatos e códigos standard suportados.

Fluxo de trabalho de streaming ao vivo

Um evento ao vivo pode ser definido para um passe através (um codificadora ao vivo no local envia um fluxo bitrate múltiplo) ou codificação ao vivo (um codificadora ao vivo no local envia um único fluxo de bitrate).

Aqui está um fluxo de trabalho comum para streaming ao vivo com embalagem dinâmica:

  1. Criar um evento ao vivo.
  2. Obtenha o URL inger e configuure o seu codificadora no local para usar o URL para enviar o feed de contribuição.
  3. Obtenha o URL de pré-visualização e use-o para verificar se a entrada do codificante está a ser recebida.
  4. Criar um novo ativo.
  5. Crie uma saída ao vivo e use o nome de ativo que criou.
    A saída ao vivo arquiva o fluxo para o ativo.
  6. Crie um localizador de streaming com os tipos de política de streaming incorporados.
    Se pretende encriptar o seu conteúdo, reveja a visão geral da proteção de conteúdos.
  7. Enuse os caminhos no localizador de streaming para obter os URLs para usar.
  8. Obtenha o nome do anfitrião para o ponto final de streaming a partir do que pretende transmitir.
  9. Construa URLs que visam diferentes formatos (HLS, MPEG-DASH e Smooth Streaming). O ponto final de streaming cuida de servir o manifesto correto e os pedidos para os diferentes formatos.

Para obter informações sobre o streaming em direto nos Media Services v3, consulte a visão geral do streaming ao vivo.

Códigos de vídeo suportados por Dynamic Packaging

A embalagem dinâmica suporta ficheiros de vídeo que se encontram no formato de ficheiro de contentores MP4 e contêm vídeo codificado com H.264 (MPEG-4 AVC ou AVC1) ou H.265 (HEVC, hev1 ou hvc1).

Nota

Foram testadas resoluções de até 4K e taxas de fotogramas de até 60 fotogramas/segundo com embalagens dinâmicas.

Codecs de áudio suportados por embalagens dinâmicas

A embalagem dinâmica também suporta ficheiros áudio que são armazenados no formato de contentor de ficheiro MP4 contendo fluxo de áudio codificado num dos seguintes códigos:

  • AAC (AAC-LC, HE-AAC v1, ou HE-AAC v2).

  • Dolby Digital Plus (AC-3 ou E-AC3 melhorados). O áudio codificado deve ser armazenado no formato do recipiente MP4 para funcionar com a Dynamic Packaging.

  • Dolby Atmos

    O conteúdo do Streaming Dolby Atmos é suportado para padrões como o protocolo MPEG-DASH com o Common Streaming Format (CSF) ou o Common Media Application Format (CMAF) fragmentado MP4, e via HTTP Live Streaming (HLS) com CMAF.

  • DTS
    Os códigos DTS suportados pelos formatos de embalagem DASH-CSF, DASH-CMAF, HLS-M2TS e HLS-CMAF são:

    • DTS Digital Surround (dtsc)
    • DTS-HD Alta Resolução e DTS-HD Master Audio (dtsh)
    • DTS Express (dtse)
    • DTS-HD Sem perdas (sem núcleo) (dtsl)

A embalagem dinâmica suporta múltiplas faixas de áudio com DASH ou HLS (versão 4 ou posterior) para streaming de ativos que têm múltiplas faixas de áudio com vários codecs e idiomas.

Para todos os códigos de áudio acima, o áudio codificado deve ser armazenado no formato de recipiente MP4 para funcionar com a Dynamic Packaging. O serviço não suporta formatos de ficheiros de fluxo elementar brutos no armazenamento de bolhas (por exemplo, o seguinte não seria suportado - .dts, .ac3.)

Apenas os ficheiros com .mp4 de extensão .mp4a são suportados para embalagem áudio.

Limitações

Limitação do iOS no áudio AAC 5.1

Os dispositivos Apple iOS não suportam códigos de áudio 5.1 AAC. O áudio multicanal deve ser codificado utilizando codecs Dolby Digital ou Dolby Digital Plus.

Para obter informações detalhadas, consulte a especificação de autoria HLS para dispositivos apple.

Nota

Os Media Services não suportam a codificação de formatos de áudio multicanal Dolby Digital, Dolby Digital Plus ou Dolby Digital Plus com formatos de áudio multicanal Dolby Atmos.

Áudio digital Dolby

A embalagem dinâmica dos Media Services não suporta atualmente ficheiros que contenham áudio Dolby Digital (AC3) (uma vez que este é considerado um código legado por Dolby).

Manifestos

Nas embalagens dinâmicas dos Media Services, os manifestos do cliente de streaming para HLS, MPEG-DASH e Smooth Streaming são gerados dinamicamente com base na consulta de formato no URL.

Um ficheiro manifesto inclui metadados de streaming como tipo de faixa (áudio, vídeo ou texto), nome da faixa, tempo de início e fim, bitrate (qualidades), linguagens de faixa, janela de apresentação (janela deslizante de duração fixa) e código de vídeo (FourCC). Também instrui o jogador a recuperar o próximo fragmento, fornecendo informações sobre os próximos fragmentos de vídeo jogáveis que estão disponíveis e a sua localização. Fragmentos (ou segmentos) são os verdadeiros "pedaços" de conteúdo de vídeo.

Exemplos

HLS

Aqui está um exemplo de um ficheiro manifesto HLS, também chamado de lista de reprodução principal HLS:

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="aac_eng_2_128041_2_1",LANGUAGE="eng",DEFAULT=YES,AUTOSELECT=YES,URI="QualityLevels(128041)/Manifest(aac_eng_2_128041_2_1,format=m3u8-aapl)"
#EXT-X-STREAM-INF:BANDWIDTH=536608,RESOLUTION=320x180,CODECS="avc1.64000d,mp4a.40.2",AUDIO="audio"
QualityLevels(381048)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=536608,RESOLUTION=320x180,CODECS="avc1.64000d",URI="QualityLevels(381048)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=884544,RESOLUTION=480x270,CODECS="avc1.640015,mp4a.40.2",AUDIO="audio"
QualityLevels(721495)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=884544,RESOLUTION=480x270,CODECS="avc1.640015",URI="QualityLevels(721495)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=1327398,RESOLUTION=640x360,CODECS="avc1.64001e,mp4a.40.2",AUDIO="audio"
QualityLevels(1154816)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1327398,RESOLUTION=640x360,CODECS="avc1.64001e",URI="QualityLevels(1154816)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=2413312,RESOLUTION=960x540,CODECS="avc1.64001f,mp4a.40.2",AUDIO="audio"
QualityLevels(2217354)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=2413312,RESOLUTION=960x540,CODECS="avc1.64001f",URI="QualityLevels(2217354)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=3805760,RESOLUTION=1280x720,CODECS="avc1.640020,mp4a.40.2",AUDIO="audio"
QualityLevels(3579827)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=3805760,RESOLUTION=1280x720,CODECS="avc1.640020",URI="QualityLevels(3579827)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=139017,CODECS="mp4a.40.2",AUDIO="audio"
QualityLevels(128041)/Manifest(aac_eng_2_128041_2_1,format=m3u8-aapl)

MPEG-DASH

Aqui está um exemplo de um ficheiro manifesto MPEG-DASH, também chamado de MpEG-DASH Media Presentation Description (MPD):

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT1M10.315S" minBufferTime="PT7S">
   <Period>
      <AdaptationSet id="1" group="5" profiles="ccff" bitstreamSwitching="false" segmentAlignment="true" contentType="audio" mimeType="audio/mp4" codecs="mp4a.40.2" lang="en">
         <SegmentTemplate timescale="10000000" media="QualityLevels($Bandwidth$)/Fragments(aac_eng_2_128041_2_1=$Time$,format=mpd-time-csf)" initialization="QualityLevels($Bandwidth$)/Fragments(aac_eng_2_128041_2_1=i,format=mpd-time-csf)">
            <SegmentTimeline>
               <S d="60160000" r="10" />
               <S d="41386666" />
            </SegmentTimeline>
         </SegmentTemplate>
         <Representation id="5_A_aac_eng_2_128041_2_1_1" bandwidth="128041" audioSamplingRate="48000" />
      </AdaptationSet>
      <AdaptationSet id="2" group="1" profiles="ccff" bitstreamSwitching="false" segmentAlignment="true" contentType="video" mimeType="video/mp4" codecs="avc1.640020" maxWidth="1280" maxHeight="720" startWithSAP="1">
         <SegmentTemplate timescale="10000000" media="QualityLevels($Bandwidth$)/Fragments(video=$Time$,format=mpd-time-csf)" initialization="QualityLevels($Bandwidth$)/Fragments(video=i,format=mpd-time-csf)">
            <SegmentTimeline>
               <S d="60060000" r="10" />
               <S d="42375666" />
            </SegmentTimeline>
         </SegmentTemplate>
         <Representation id="1_V_video_1" bandwidth="3579827" width="1280" height="720" />
         <Representation id="1_V_video_2" bandwidth="2217354" codecs="avc1.64001F" width="960" height="540" />
         <Representation id="1_V_video_3" bandwidth="1154816" codecs="avc1.64001E" width="640" height="360" />
         <Representation id="1_V_video_4" bandwidth="721495" codecs="avc1.640015" width="480" height="270" />
         <Representation id="1_V_video_5" bandwidth="381048" codecs="avc1.64000D" width="320" height="180" />
      </AdaptationSet>
   </Period>
</MPD>

Transmissão em Fluxo Uniforme

Aqui está um exemplo de um ficheiro manifesto de Streaming Suave:

<?xml version="1.0" encoding="UTF-8"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="2" Duration="703146666" TimeScale="10000000">
   <StreamIndex Chunks="12" Type="audio" Url="QualityLevels({bitrate})/Fragments(aac_eng_2_128041_2_1={start time})" QualityLevels="1" Language="eng" Name="aac_eng_2_128041_2_1">
      <QualityLevel AudioTag="255" Index="0" BitsPerSample="16" Bitrate="128041" FourCC="AACL" CodecPrivateData="1190" Channels="2" PacketSize="4" SamplingRate="48000" />
      <c t="0" d="60160000" r="11" />
      <c d="41386666" />
   </StreamIndex>
   <StreamIndex Chunks="12" Type="video" Url="QualityLevels({bitrate})/Fragments(video={start time})" QualityLevels="5">
      <QualityLevel Index="0" Bitrate="3579827" FourCC="H264" MaxWidth="1280" MaxHeight="720" CodecPrivateData="0000000167640020ACD9405005BB011000003E90000EA600F18319600000000168EBECB22C" />
      <QualityLevel Index="1" Bitrate="2217354" FourCC="H264" MaxWidth="960" MaxHeight="540" CodecPrivateData="000000016764001FACD940F0117EF01100000303E90000EA600F1831960000000168EBECB22C" />
      <QualityLevel Index="2" Bitrate="1154816" FourCC="H264" MaxWidth="640" MaxHeight="360" CodecPrivateData="000000016764001EACD940A02FF9701100000303E90000EA600F162D960000000168EBECB22C" />
      <QualityLevel Index="3" Bitrate="721495" FourCC="H264" MaxWidth="480" MaxHeight="270" CodecPrivateData="0000000167640015ACD941E08FEB011000003E90000EA600F162D9600000000168EBECB22C" />
      <QualityLevel Index="4" Bitrate="381048" FourCC="H264" MaxWidth="320" MaxHeight="180" CodecPrivateData="000000016764000DACD941419F9F011000003E90000EA600F14299600000000168EBECB22C" />
      <c t="0" d="60060000" r="11" />
      <c d="42375666" />
   </StreamIndex>
</SmoothStreamingMedia>

Nomeação de faixas no manifesto

Se um nome de faixa áudio for especificado no ficheiro .ism, os Serviços de Comunicação adicionam um Label elemento dentro de um AdaptationSet para especificar as informações texturais para a faixa de áudio específica. Um exemplo do manifesto DASH de saída:

<AdaptationSet codecs="mp4a.40.2" contentType="audio" lang="en" mimeType="audio/mp4" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
  <Label>audio_track_name</Label>
  <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
  <Representation audioSamplingRate="48000" bandwidth="131152" id="German_Forest_Short_Poem_english-en-68s-2-lc-128000bps_seg">
    <BaseURL>German_Forest_Short_Poem_english-en-68s-2-lc-128000bps_seg.mp4</BaseURL>
  </Representation>
</AdaptationSet>

O leitor pode utilizar o Label elemento para visualizar a sua UI.

Faixas de descrição áudio de sinalização

Pode adicionar uma faixa de narração ao seu vídeo para ajudar os clientes com deficiência visual a seguirem a gravação de vídeo ouvindo a narração. É necessário anotar uma faixa áudio como descrição áudio no manifesto. Para isso, adicione os parâmetros de "acessibilidade" e "função" ao ficheiro .ism. É sua responsabilidade definir estes parâmetros corretamente para sinalizar uma faixa áudio como descrição áudio. Por exemplo, adicione <param name="accessibility" value="description" /> e <param name="role" value="alternate" ao ficheiro .ism para uma faixa áudio específica.s

Manifesto de streaming suave

Se estiver a reproduzir um stream de Streaming Suave, o manifesto transportaria valores Accessibility e Role atributos para essa faixa áudio. Por exemplo, Role="alternate" Accessibility="description" seria adicionado no StreamIndex elemento para indicar que é uma descrição áudio.

Manifesto do DASH

Para o manifesto dash, os dois elementos seguintes seriam adicionados para sinalizar a descrição áudio:

<Accessibility schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="alternate"/>

Lista de reprodução hls

Para o HLS v7 e acima (format=m3u8-cmaf), a sua lista de reprodução seria transportada AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video" quando a faixa de descrição áudio estiver sinalizada.

Filtragem do Manifesto Dinâmico

Para controlar o número de faixas, formatos, bitrates e janelas de tempo de apresentação que são enviadas aos jogadores, pode utilizar a filtragem dinâmica com o pacote dinâmico dos Media Services. Para obter mais informações, consulte os manifestos de pré-filtragem com o embalador dinâmico.

Encriptação dinâmica para DRM

Pode utilizar encriptação dinâmica para encriptar dinamicamente o seu conteúdo ao vivo ou a pedido com a AES-128 ou qualquer um dos três principais sistemas de gestão de direitos digitais (DRM): Microsoft PlayReady, Google Widevine e Apple FairPlay. A Media Services também fornece um serviço de entrega de chaves AES e licenças de DRM a clientes autorizados. Para mais informações, consulte encriptação dinâmica.

Nota

Widevine é um serviço fornecido pela Google Inc. e sujeito aos termos de serviço e Política de Privacidade da Google, Inc.