Empaquetado dinámico en Media Services v3

Logotipo de Media Services v3


Advertencia

Azure Media Services se retirará el 30 de junio de 2024. Para obtener más información, consulte la Guía de retirada de AMS.

Azure Media Services proporciona funcionalidades integradas de empaquetado y de servidor de origen para entregar contenido en los formatos de protocolo de streaming HLS y MPEG DASH. En AMS, el punto de conexión de streaming actúa como el servidor de "origen" que envía contenido con formato HLS y DASH a los reproductores cliente que admiten el streaming con velocidad de bits adaptable mediante estos formatos populares. El punto de conexión de streaming también admite muchas características, como el empaquetado dinámico Just-In-Time con o sin protección de contenido, para llegar a todos los dispositivos principales (como dispositivos iOS y Android).

Actualmente, la mayoría de los exploradores y dispositivos móviles del mercado admiten y entienden los protocolos de streaming HLS o DASH. Por ejemplo, iOS requiere que los flujos se entreguen en formato HTTP Live Streaming (HLS), mientras que los dispositivos Android admiten HLS y MPEG DASH en determinados modelos (o bien mediante el uso del reproductor de nivel de aplicación Exoplayer para dispositivos Android).

En Media Services, un punto de conexión de streaming (origen) representa un empaquetado dinámico (Just-In-Time) y el servicio de origen que puede entregar directamente el contenido en directo y a petición a una aplicación de reproducción de cliente. Usa uno de los protocolos de streaming de multimedia comunes que se mencionan en la sección siguiente. El empaquetado dinámico es una característica incluida en todos los puntos de conexión de streaming.

Empaquetado dinámico

Las ventajas del empaquetado Just-In-Time son las siguientes:

  • Puede almacenar todos los archivos en formato de archivo MP4 estándar.
  • No es necesario almacenar varias copias de formatos HLS y DASH empaquetados estáticos en Blob Storage, lo que reduce la cantidad de contenido de vídeo almacenado y reduce los costos de almacenamiento.
  • Puede aprovechar al instante las nuevas actualizaciones de protocolo y los cambios en las especificaciones sin necesidad de volver a empaquetar el contenido estático en el catálogo.
  • Puede entregar contenido con o sin cifrado y DRM con los mismos archivos MP4 en el almacenamiento.
  • Puede filtrar o modificar dinámicamente los manifiestos con filtros globales o filtros de nivel de recurso simples para quitar pistas, resoluciones e idiomas específicos, o bien para proporcionar clips más cortos de momentos destacados de los mismos archivos MP4 sin volver a codificar ni a representar el contenido.

Para preparar los archivos de origen para su entrega

Para aprovechar el empaquetado dinámico, codifique el archivo intermedio (origen) en un conjunto de archivos MP4 de velocidad de bits única o múltiple (medios base ISO 14496-12). Los archivos de vídeo codificados y los archivos de configuración de streaming se ubicarán en un recurso de salida. A partir de este conjunto de archivos, puede usar el empaquetado dinámico para entregar vídeo a través de los protocolos multimedia de streaming.

Normalmente, se usa el codificador estándar de Azure Media Services para generar este contenido mediante los valores preestablecidos de codificación en función del contenido o los valores preestablecidos de velocidad de bits adaptable. Ambos generan un conjunto de archivos MP4 listos para el streaming y el empaquetado dinámico.

Como alternativa, puede optar por codificar mediante un servicio externo, un entorno local o en sus propias máquinas virtuales o aplicaciones de funciones sin servidor. El contenido codificado externamente se puede cargar en un recurso para streaming siempre que cumpla los requisitos de codificación para los formatos de streaming con velocidad de bits adaptable. Hay disponible un proyecto de ejemplo de la carga de un MP4 codificado previamente para streaming en los ejemplos del SDK de .NET. Consulte este ejemplo de transmisión de archivos MP4 existentes.

El empaquetado dinámico de Azure Media Services solo admite archivos de audio y vídeo en formato de contenedor MP4. Los archivos de audio deben estar codificados en un contenedor de MP4 también cuando se usen otros códecs, como Dolby.

Hacer que los vídeos estén disponibles para streaming

Para que los vídeos del recurso codificado estén disponibles para los clientes para su reproducción, publique el recurso mediante un localizador de streaming y compile las direcciones URL de streaming HLS y DASH adecuadas. Al cambiar el protocolo usado en la consulta de formato url, el servicio entregará el manifiesto de streaming adecuado (HLS, MPEG DASH).

Como resultado, solo tendrá que almacenar los archivos y pagar por ellos en un único formato de almacenamiento (MP4), y Media Services generará y proporcionará los manifiestos HLS o DASH adecuados en función de las solicitudes de los reproductores de los clientes.

Si tiene previsto proteger el contenido mediante el cifrado dinámico de Media Services, consulte Protocolos de streaming y tipos de cifrado.

Entrega de HLS

Empaquetado dinámico de HLS

El cliente de streaming puede especificar los siguientes formatos de HLS. Se recomienda usar el formato CMAF para garantizar la compatibilidad con los reproductores y dispositivos iOS más recientes. En el caso de los dispositivos heredados, los formatos v4 y v3 están disponibles cambiando simplemente la cadena de consulta de formato.

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

Nota

Las instrucciones anteriores de Apple recomendaban que la reserva para las redes con un ancho de banda reducido sirviera para proporcionar un flujo de solo audio. En la actualidad, el codificador de Media Services genera automáticamente una pista de solo audio. Las instrucciones de Apple ahora indican que la pista de solo audio no debe incluirse, especialmente para la distribución de Apple TV. Con el fin de evitar que el reproductor tenga como valor predeterminado una pista de solo audio, se recomienda usar la etiqueta "audio-only=false" en la URL que quita la copia de solo audio en HLS, o simplemente usar HLS-V3. Por ejemplo, http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false).

Relación de empaquetado de HLS para VoD

Para controlar la relación de empaquetado del contenido de VoD para los formatos HLS más antiguos, puede configurar la etiqueta de metadatos fragmentsPerHLSSegment en el archivo .ism para controlar la relación de empaquetado predeterminada de 3:1 para los segmentos de TS entregados desde manifiestos de formato HLS más antiguos (v3 y v4). Este cambio en la configuración requiere modificar directamente el archivo .ism en el almacenamiento para ajustar la relación de empaquetado.

En el siguiente ejemplo de manifiesto de servidor .ism, fragmentsPerHLSSegment está establecido en 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>

Entrega de DASH

Empaquetado dinámico de DASH

El cliente de streaming puede especificar los siguientes formatos MPEG-DASH:

Protocolo Cadena de formato Ejemplo
MPEG-DASH CMAF format=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 (heredado) format=mpd-time-csf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-csf)

Entrega de manifiestos de Smooth Streaming

Empaquetado dinámico de Smooth Streaming

El cliente de streaming puede especificar los siguientes formatos de Smooth Streaming:

Protocolo Notas y ejemplos
Smooth Streaming https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest
Smooth Streaming 2.0 (manifiesto heredado) De forma predeterminada el formato de manifiesto Smooth Streaming contiene la etiqueta de repetición (r-tag). Sin embargo, algunos reproductores no admiten r-tag. Los clientes con estos reproductores pueden utilizar un formato que deshabilite la etiqueta r-tag:

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

Nota

Smooth Streaming requiere que haya audio y vídeo en el streaming.

Flujo de trabajo de streaming a petición

En los pasos siguientes se muestra un flujo de trabajo común de streaming de Media Services en el que se usa el empaquetado dinámico junto con el codificador estándar en Azure Media Services.

  1. Cargue un archivo de entrada, como por ejemplo MP4, QuickTime/MOV, o cualquier otro formato de archivo compatible. Este archivo también se conoce como archivo de origen o intermedio. Para la lista de formatos admitidos, consulte Códecs y formatos de Standard Encoder.

  2. Codifique el archivo intermedio en un conjunto de archivos MP4 de velocidad de bits adaptable H.264/AAC.

    Si ya ha codificado los archivos y solo quiere copiar y transmitir los archivos, use: CopyVideo API y CopyAudio API. Como resultado, se creará un archivo MP4 con un manifiesto de streaming (archivo .ism).

    Además, puede generar los archivos .ism y .ismc en un archivo precodificado, siempre que esté codificado con la configuración adecuada para el streaming con velocidad de bits adaptable (esta suele consistir en grupos de imágenes [GOP] de dos segundos, distancias de fotogramas clave de dos segundos como mínimo y máximo, y codificación en modo de velocidad de bits constante [CBR]).

    Consulte el ejemplo de transmisión de archivos MP4 existentes del SDK de .NET para obtener más información sobre cómo generar los archivos .ism (manifiesto de servidor) y .ismc (manifiestos de cliente) para el streaming desde archivos MP4 existentes y precodificados.

  3. Publicar el recurso de salida que contiene el conjunto de MP4 de velocidad de bits adaptable. Publicar mediante la creación de un localizador de streaming.

  4. Generar direcciones URL que tienen como destino diferentes formatos (HLS, MPEG-DASH y Smooth Streaming). El punto de conexión de streaming se encarga de atender el manifiesto correcto y las solicitudes de todos estos formatos.

La ruta de acceso de descarga aparece en la imagen anterior solo para mostrarle que puede descargar un archivo MP4 directamente a través del punto de conexión de streaming (origen) (debe especificar la directiva de streaming descargable en el localizador de streaming).
El empaquetador dinámico no está modificando el archivo. Opcionalmente puede usar las API de Azure Blob Storage para acceder a un MP4 directamente para la descarga progresiva si desea omitir las características del punto de conexión de streaming (origen).

Codificación en archivos MP4s de velocidad de bits adaptable

Los artículos siguientes muestran ejemplos de cómo codificar un vídeo con Media Services:

Consulte la lista de códecs y formatos de entrada compatibles con el codificador estándar.

Flujo de trabajo de streaming en vivo

Un evento en directo se puede establecer en una codificación de paso a través (un codificador en directo local envía una secuencia de velocidad de bits múltiple) o en una codificación en directo (un codificador en directo local envía una secuencia de velocidad de bits única).

Este es un flujo de trabajo común para el streaming en vivo con el empaquetado dinámico:

  1. Cree un evento en directo.
  2. Obtenga la dirección URL de ingesta y configure el codificador local a fin de usar la dirección URL para enviar la fuente de contribución.
  3. Obtenga la dirección URL de versión preliminar y úsela para verificar que la entrada del codificador se está recibiendo.
  4. Cree un recurso nuevo.
  5. Cree una salida en directo y use el nombre del recurso que ha creado.
    La salida en directo archivará la secuencia en el recurso.
  6. Cree un localizador de streaming con los tipos de directiva de streaming integrados.
    Si va a cifrar el contenido, consulte Introducción a la protección de contenido.
  7. Enumere las rutas de acceso en el localizador de streaming para recuperar las direcciones URL que se van a usar.
  8. Obtenga el nombre de host del punto de conexión de streaming desde el que quiere realizar el streaming.
  9. Generar direcciones URL que tienen como destino diferentes formatos (HLS, MPEG-DASH y Smooth Streaming). El punto de conexión de streaming se encarga de atender el manifiesto correcto y las solicitudes de los diferentes formatos.

Para más información acerca del streaming en vivo en Media Services v3, consulte Introducción al streaming en vivo.

Códecs de vídeo compatibles con el empaquetado dinámico

El empaquetado dinámico admite archivos de vídeo que estén en el formato de archivo del contenedor de MP4 y que contengan vídeo que esté codificado con H.264 (MPEG-4 AVC o AVC1) o H.265 (HEVC, hev1 o hvc1).

Nota

Se han probado resoluciones de hasta 4K y velocidades de fotogramas de hasta 60 fotogramas por segundo con el empaquetado dinámico.

Códecs de audio compatibles con el empaquetado dinámico

El empaquetado dinámico también admite archivos de audio que estén almacenado en el formato del contenedor de archivos MP4 que contengan flujo de audio codificado con uno de los siguientes códecs:

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

  • Dolby Digital Plus (Enhanced AC-3 o E-AC3). El audio codificado se debe almacenar en el formato del contenedor de MP4 para que funcione con el empaquetado dinámico.

  • Dolby Atmos

    El streaming de contenido Dolby Atmos es compatible con estándares como el protocolo MPEG-DASH con formato de streaming común (CSF) o formato de aplicación multimedia común (CMAF) MP4 fragmentado, y mediante HTTP Live Streaming (HLS) con CMAF.

  • DTS
    Los códecs de DTS admitidos por los formatos de empaquetado DASH-CSF, DASH-CMAF, HLS-M2TS y HLS-CMAF son:

    • DTS Digital Surround (dtsc)
    • DTS-HD alta resolución y DTS HD Master Audio (dtsh)
    • DTS Express (dtse)
    • DTS-HD Lossless (sin núcleo) (dtsl)

El empaquetado dinámico admite varias pistas de audio con DASH o HLS (versión 4 o posterior) para recursos de streaming que tienen varias pistas de audio con varios códecs y lenguajes.

En todos los códecs de audio anteriores, el audio codificado se debe almacenar en el formato del contenedor de MP4 para que funcione con el empaquetado dinámico. El servicio no admite formatos de archivo de flujo elemental sin procesar en Blob Storage (por ejemplo, los formatos .dts y .ac3 no se aceptarían)

Para el empaquetado de audio solo se admiten los archivos con las extensiones .mp4 o .mp4a.

Limitaciones

Limitación de iOS en el audio AAC 5.1

Los dispositivos Apple iOS no admiten el códec de audio versión 5.1 de AAC. Se debe codificar el audio multicanal mediante los códecs Dolby Digital o Dolby Digital Plus.

Para obtener información detallada, consulte la especificación de creación de HLS para dispositivos Apple.

Nota

Media Services no admite la codificación de Dolby digital, Dolby Digital Plus ni Dolby Digital Plus con formatos de audio multicanal de Dolby Atmos.

Dolby Digital audio

El empaquetado dinámico de Media Services no admite actualmente archivos que contienen audio de Dolby Digital (AC3) (ya que se considera un códec heredado por Dolby).

Manifiestos

En el empaquetado dinámico de Media Services, los manifiestos de cliente de streaming para HLS, MPEG-DASH y Smooth Streaming se generan dinámicamente basándose en la consulta de formato de la dirección URL.

Un archivo de manifiesto incluye metadatos de streaming como: el tipo de pista (audio, vídeo o texto), el nombre de la pista, la hora inicial y final, la velocidad de bits (calidades), los idiomas de pista, la ventana de presentación (ventana deslizante de duración fija), el códec de vídeo (FourCC). También indica al reproductor que recupere el siguiente fragmento ofreciendo información acerca de los próximos fragmentos de vídeo reproducibles que están disponibles y su ubicación. Los fragmentos (o segmentos) son "fragmentos" reales de un contenido de vídeo.

Ejemplos

HLS

Este es un ejemplo de un archivo de manifiesto HLS, también llamado lista de reproducción maestra 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

Este es un ejemplo de un archivo de manifiesto MPEG-DASH, también llamado descripción de presentación multimedia (MPD) MPEG-DASH:

<?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>

Smooth Streaming

Este es un ejemplo de un archivo de manifiesto de Smooth Streaming:

<?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>

Asignación de nombres a pistas del manifiesto

Si se especifica un nombre de pista de audio en el archivo .ism, Media Services agrega un elemento Label dentro de un objeto AdaptationSet para especificar la información de textura de la pista de audio específica. Ejemplo del manifiesto DASH de salida:

<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>

El reproductor puede usar el elemento Label para mostrar en su interfaz de usuario.

Señalización de pistas de descripción de audio

Puede agregar una pista de narración al vídeo que ayude a los clientes con problemas visuales a seguir la grabación de vídeo escuchando la narración. Es preciso anotar las pistas de audio como descripciones de audio en el manifiesto. Para ello, agregue los parámetros "accessibility" y "role" al archivo .ism. Debe establecer estos parámetros correctamente para señalizar las pistas de audio como descripciones de audio. Por ejemplo, agregue <param name="accessibility" value="description" /> y <param name="role" value="alternate" al archivo .ism para una pista de audio específica.

Manifiesto de Smooth Streaming

Si está reproduciendo un flujo de Smooth Streaming, el manifiesto llevaría valores en los atributos Accessibility y Role para esa pista de audio. Por ejemplo, Role="alternate" Accessibility="description" se agregaría en el elemento StreamIndex para indicar que es una descripción de audio.

Manifiesto DASH

En el caso del manifiesto DASH, se agregarían los dos elementos siguientes para indicar la descripción del audio:

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

Lista de reproducción de HLS

En el caso de HLS v7, y las versiones superiores(format=m3u8-cmaf), su lista de reproducción llevaría AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video" cuando se señale la pista de la descripción de audio.

Filtrado de manifiestos dinámicos

Para controlar el número de pistas, formatos, velocidades de bits y ventanas de tiempo de presentación que se envían a los reproductores, puede usar el filtro dinámico con el empaquetador dinámico de Media Services. Para más información, consulte Manifiestos de un filtrado previo con el empaquetador dinámico.

Cifrado dinámico para DRM

Puede usar el cifrado dinámico para cifrar de forma dinámica el contenido en directo o a petición con AES-128 o cualquiera de los tres principales sistemas de administración de derechos digitales (DRM): Microsoft PlayReady, Google Widevine y Apple FairPlay. Media Services también proporciona un servicio para entregar claves AES y licencias de DRM a clientes autorizados. Para más información, consulte Cifrado dinámico.

Nota

Widevine es un servicio que ofrece Google Inc. y que está sujeto a los términos del servicio y la directiva de privacidad de Google, Inc.

Obtener ayuda y soporte técnico

Puede ponerse en contacto con Media Services con preguntas o seguir nuestras actualizaciones mediante uno de los métodos siguientes: