Filtrado de los manifiestos mediante el empaquetador dinámico
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.
Cuando entrega contenido de streaming con velocidad de bits adaptable, en ocasiones es necesario publicar varias versiones de un manifiesto para acomodarse a funcionalidades específicas del dispositivo o al ancho de banda de red disponible. El empaquetador dinámico permite especificar los filtros que pueden filtrar códecs específicos, resoluciones, velocidades de bits y combinaciones de pistas de audio sobre la marcha. El filtrado elimina la necesidad de crear varias copias. Solo necesita publicar una nueva dirección URL con un conjunto específico de filtros configurados para los dispositivos de destino (iOS, Android, SmartTV o exploradores) y las funcionalidades de red (escenarios de ancho de banda alto o bajo o móviles). En este caso, los clientes pueden manipular el streaming de contenido mediante la cadena de consulta (mediante la especificación de los filtros de recursos o de cuenta disponibles) y usar filtros para el streaming de secciones específicas de una secuencia.
Algunos escenarios de entrega requieren asegurarse de que un cliente no pueda acceder a pistas específicas. Por ejemplo, quizás no le interese publicar un manifiesto que contenga las pistas de HD en un nivel de suscriptor específico. O bien, es posible que quiera quitar pistas con velocidad de bits adaptable (ABR) para reducir el costo de entrega a un dispositivo específico que no se beneficiaría de las pistas adicionales. En este caso, puede asociar una lista de filtros creados previamente a su localizador de streaming durante la creación. Así, los clientes no pueden manipular cómo se transmite el contenido, ya que está definido en dicho localizador de streaming.
Puede combinar el filtrado mediante la especificación de filtros en el localizador de streaming y filtros adicionales específicos del dispositivo que el cliente defina en la dirección URL. Esta combinación puede ser útil para restringir las pistas adicionales, como secuencias de metadatos o eventos, idiomas de audio o pistas de audio descriptivas.
Esta capacidad para especificar filtros diferentes en la secuencia proporciona una eficaz solución de manipulación del manifiesto dinámico que permite diversos escenarios de casos de uso para los dispositivos de destino. En este tema se explican conceptos relacionados con los manifiestos dinámicos y se proporcionan ejemplos de escenarios en los que puede usar esta característica.
Nota
Los manifiestos dinámicos no cambian el recurso ni el manifiesto predeterminado de ese recurso.
Introducción a los manifiestos
Azure Media Services admite los protocolos HLS, MPEG DASH y Smooth Streaming. Como parte del empaquetado dinámico, los manifiestos de cliente de streaming (HLS Master Playlist, DASH Media Presentation Description [MPD] y Smooth Streaming), se generan dinámicamente a partir del selector de formato de la dirección URL. Para más información, consulte los protocolos de entrega en el flujo de trabajo común a petición.
Obtención y examen de archivos de manifiesto
Se especifica una lista de condiciones de propiedad de pista de filtro en función de las pistas de la secuencia (vídeo en directo o a petición [VOD]) que deben incluirse en el manifiesto creado de forma dinámica. Para obtener y examinar las propiedades de las pistas, primero debe cargar el manifiesto de Smooth Streaming.
Supervisión de la velocidad de bits de una secuencia de vídeo
Puede utilizar la página de demostración de Azure Media Player para supervisar la velocidad de bits de una secuencia de vídeo. La página de demostración muestra información de diagnóstico en la pestaña Diagnósticos:
Ejemplos: Direcciones URL con filtros en la cadena de consulta
Puede aplicar filtros a protocolos de streaming ABR: HLS, MPEG-DASH y Smooth Streaming. En la tabla siguiente se muestran algunos ejemplos de direcciones URL con filtros:
Protocolo | Ejemplo |
---|---|
HLS | https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter) |
MPEG DASH | https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter) |
Smooth Streaming | https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter) |
Filtrado de representaciones
Puede elegir codificar el recurso en varios perfiles de codificación (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) y varias velocidades de bits de calidad. Sin embargo, no todos los dispositivos cliente serán compatibles con todos los perfiles y velocidades de bits de su activo. Por ejemplo, los dispositivos Android más antiguos solo admiten H.264 Baseline+AACL. El envío de velocidades de bits más altas a un dispositivo que no puede obtener los beneficios, desperdicia el ancho de banda y el cálculo del dispositivo. Dicho dispositivo debe descodificar toda la información ofrecida, solo para reducirla verticalmente para presentación.
Con el manifiesto dinámico, puede crear perfiles de dispositivo como móvil, consola, HD/SD, etc. e incluir las pistas y calidades que quiere que formen parte de cada perfil. Esto se denomina filtrado de representaciones. El diagrama siguiente muestra un ejemplo.
En la parte superior del diagrama siguiente se muestra el manifiesto HLS del recurso sin filtros. (Contiene las siete copias) En la parte inferior izquierda, el diagrama muestra el manifiesto HLS al que se aplicó un filtro denominado "ott". El filtro de "ott" especifica la eliminación de todas las velocidades de bits por debajo de 1 Mbps, lo que dio lugar a que se quitaran los dos niveles de calidad inferiores en la respuesta. En la parte inferior derecha, el diagrama muestra el manifiesto HLS al que se aplicó un filtro llamado "mobile". El filtro "mobile" especifica la eliminación de las representaciones donde la resolución es mayor que 720p, lo que hizo que se quitaran las dos representaciones de 1080p.
Quitar pistas de idioma
Los recursos pueden incluir varios idiomas de audio, como inglés, español, francés, etc. Normalmente, el SDK del Reproductor administra la selección de las pistas de audio predeterminadas y la selección de las pistas de audio disponibles por usuario.
Desarrollar estos SDK del Reproductor es complicado, ya que requiere diferentes implementaciones en plataformas de reproductores específicas del dispositivo. Además, en algunas plataformas, las API del Reproductor están limitadas y no incluyen la característica de selección de audio, así que los usuarios no pueden seleccionar ni cambiar la pista de audio predeterminada. Con los filtros de activo, puede controlar el comportamiento creando filtros que solo incluyen idiomas de audio deseados.
Recorte del inicio de un recurso
En la mayoría de los eventos de streaming en directo, los operadores ejecutan algunas pruebas antes del evento real. Por ejemplo, podrían incluir una pizarra como esta antes del inicio del evento: "El programa comenzará momentáneamente".
Si el programa se está archivando, los datos de pizarra y de prueba también se archivan y se incluyen en la presentación. Sin embargo, esta información no se debe mostrar a los clientes. Con el manifiesto dinámico, puede crear un filtro de tiempo de inicio y quitar los datos no deseados del manifiesto.
Crear clips secundarios (vistas) desde un archivo dinámico
Muchos eventos en directo son de larga ejecución y el archivo en directo puede incluir varios eventos. Después de que termine el evento en directo, es posible que los emisores deseen dividir el archivo dinámico en secuencias de inicio y detención de programa lógicas.
Puede publicar por separado estos programas virtuales sin procesar posteriormente el archivo dinámico y sin crear recursos independientes (que no se benefician de los fragmentos en caché existentes en las CDN). Entre los ejemplos de estos programas virtuales se encuentran los cuatro cuartos de un partido de baloncesto o fútbol americano, las entradas en el béisbol o los eventos individuales de una tarde de un programa deportivo.
Con el manifiesto dinámico, puede crear filtros mediante las horas inicial y final y crear vistas virtuales encima de su archivo dinámico.
Este es el recurso filtrado:
Ajustar la ventana de presentación (DVR)
Actualmente, Azure Media Services ofrece archivado circular donde la duración se puede configurar entre 1 minuto y 25 horas. El filtrado de manifiestos se puede usar para crear una ventana de DVR dinámica encima del archivo, sin eliminar medios. Hay muchos escenarios en los que los emisores quieren proporcionar una ventana de DVR limitada que se mueva con el borde dinámico y al mismo tiempo mantener una ventana de archivado más grande. Puede que un emisor quiera usar los datos que están fuera de la ventana de DVR para resaltar clips, o que desee proporcionar diferentes ventanas de DVR para dispositivos diferentes. Por ejemplo, la mayoría de los dispositivos móviles no administran grandes ventanas de DVR (puede tener una ventana de DVR de 2 minutos para dispositivos móviles y 1 hora para clientes de escritorio).
Ajustar LiveBackoff (posición en directo)
El filtrado de manifiestos puede usarse para quitar varios segundos del borde directo de un programa activo. El filtrado permite a los emisores ver la presentación en el punto de publicación de versión preliminar y crear puntos de inserción de anuncios antes de que los visores reciban la transmisión (normalmente con una interrupción de copia anterior a 30 segundos). Entonces, los emisores pueden insertar estos anuncios en sus marcos de cliente a tiempo para su recepción y procesar la información antes de la oportunidad de anuncio.
Además de la compatibilidad de anuncio, la opción de configuración LiveBackoff se puede usar para ajustar la posición de los visores para que cuando los clientes se desvíen y lleguen al borde directo puedan obtener todavía fragmentos del servidor. De este modo, los clientes no recibirán un error HTTP 404 o 412.
Combinación de varias reglas en un filtro único
Puede combinar varias reglas de filtrado en un filtro único. Por ejemplo, puede definir una "regla de intervalos" para quitar las caretas de un archivo dinámico y filtrar además las velocidades de bits disponibles. Al aplicar varias reglas de filtrado, el resultado final es la intersección de todas las reglas.
Combinar múltiples filtros (composición de filtros)
También puede combinar varios filtros en una sola dirección URL. En el escenario siguiente se muestra para qué puede resultar útil la combinación de filtros:
- Necesita filtrar las calidades de vídeos para dispositivos móviles, como Android o iPad (con el fin de limitar las calidades de vídeo). Para quitar las calidades no deseadas, debe crear un filtro de cuenta adecuado para los perfiles de dispositivo. Puede usar filtros de cuenta para todos sus recursos en la misma cuenta de servicios multimedia sin ninguna asociación adicional.
- También desea recortar el tiempo de inicio y finalización de un activo. Para ello, debe crear un filtro de recursos y establecer la hora de inicio y fin.
- Quiere combinar ambos filtros. Sin combinación tendría que agregar el filtrado de calidad al filtro de recorte, lo cual dificultaría el uso del filtro.
Para combinar filtros, establezca los nombres de filtro en la dirección URL del manifiesto o la lista de reproducción separados por punto y coma. Supongamos que tiene un filtro llamado MyMobileDevice que filtra cualidades, y que tiene otro llamado MyStartTime para establecer una determinada hora de inicio. Puede combinar hasta tres filtros.
Consideraciones y limitaciones
Los valores de forceEndTimestamp, presentationWindowDuration y liveBackoffDuration se deben establecer para un filtro de VOD. Solo se utilizan para escenarios de filtrado en vivo.
El manifiesto dinámico funciona en los límites GOP (fotogramas clave), por lo que el recorte tiene precisión GOP.
Puede usar el mismo nombre de filtro para los filtros de cuentas y recursos. Los filtros de recurso tienen una mayor prioridad e invalidarán los filtros de cuenta.
Si actualiza un filtro, se pueden tardar hasta 2 minutos en que el punto de conexión de streaming actualice las reglas. Si usó filtros para suministrar el contenido (y se almacenó en caché en servidores proxy y cachés CDN), la actualización de estos filtros puede generar errores del reproductor. Se recomienda borrar la memoria caché después de actualizar el filtro. Si esta opción no es posible, piense en usar un filtro diferente.
Los clientes necesitan descargar manualmente el manifiesto y analizar la marca de hora de inicio exacta y la escala temporal.
- Para determinar las propiedades de las pistas de un recurso, obtenga y examine el archivo de manifiesto.
- La fórmula para establecer las propiedades de la marca de tiempo del filtro de recursos es:
startTimestamp = <hora de inicio del manifiesto> + <hora de inicio del filtro esperada en segundos> * escala temporal
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:
- PREGUNTAS Y RESPUESTAS
-
Stack Overflow. Etiquete las preguntas con
azure-media-services
. - @MSFTAzureMedia o use @AzureSupport para solicitar soporte técnico.
- Abra una incidencia de soporte técnico a través del Azure Portal.