Transmisión de contenido con la integración de CDNStream content with CDN integration

Logotipo de Media Services v3media services logo v3


Azure Content Delivery Network (CDN) ofrece a los desarrolladores una solución global para la entrega rápida de contenido con alto ancho de banda a los usuarios mediante el almacenamiento en caché del contenido en nodos físicos estratégicamente situados en todo el mundo.Azure Content Delivery Network (CDN) offers developers a global solution for rapidly delivering high-bandwidth content to users by caching their content at strategically placed physical nodes across the world.

CDN almacena en caché el contenido transmitido desde un punto de conexión de streaming (origen) de Media Services por códec, por protocolo de streaming, por velocidad de bits, por formato de contenedor y por cifrado/DRM.CDN caches content streamed from a Media Services Streaming Endpoint (origin) per codec, per streaming protocol, per bitrate, per container format, and per encryption/DRM. Para cada combinación de formato-velocidad de bits-cifrado protocolo-contenedor códec-streaming, habrá una caché de CDN independiente.For each combination of codec-streaming protocol-container format-bitrate-encryption, there will be a separate CDN cache.

El contenido popular se servirá directamente desde la caché de CDN, siempre que el fragmento de vídeo esté almacenado en caché.The popular content will be served directly from the CDN cache as long as the video fragment is cached. Es probable que el contenido en vivo se almacene en caché porque suele haber muchas personas mirando exactamente lo mismo.Live content is likely to be cached because you typically have many people watching the exact same thing. El contenido a petición puede ser un poco más complejo porque podría haber parte del contenido que fuera popular y otra que no.On-demand content can be a bit trickier because you could have some content that's popular and some that isn't. Si hay millones de recursos de vídeo que no son populares (solo uno o dos visores a la semana), pero hay miles de personas que miran vídeos diferentes, la red CDN pasa a ser mucho menos efectiva.If you have millions of video assets where none of them are popular (only one or two viewers a week) but you have thousands of people watching all different videos, the CDN becomes much less effective.

También debe tener en cuenta cómo funciona el streaming adaptable.You also need to consider how adaptive streaming works. Cada fragmento de vídeo individual se almacena en caché como una entidad independiente.Each individual video fragment is cached as its own entity. Por ejemplo, imagine la primera vez que se mira un vídeo determinado.For example, imagine the first time a certain video is watched. Si el visor omite parte y mira solo unos segundos aquí y allá, solo los fragmentos de vídeo asociados con lo que miró esa persona se almacenan en la caché de CDN.If the viewer skips around watching only a few seconds here and there, only the video fragments associated with what the person watched get cached in CDN. Con el streaming adaptable, se suelen tener de 5 a 7 velocidades de bits de vídeo distintas.With adaptive streaming, you typically have 5 to 7 different bitrates of video. Si una persona está mirando a una velocidad de bits y otra persona a una velocidad de bits diferente, se almacenan en caché cada uno por separado en la red CDN.If one person is watching one bitrate and another person is watching a different bitrate, then they're each cached separately in the CDN. Incluso si dos personas están mirando a la misma velocidad de bits podrían hacer streaming a través de protocolos diferentes.Even if two people are watching the same bitrate, they could be streaming over different protocols. Cada protocolo (HLS, MPEG-DASH, Smooth Streaming) se almacena en caché por separado.Each protocol (HLS, MPEG-DASH, Smooth Streaming) is cached separately. Por lo tanto, cada velocidad de bits y protocolo se almacenan en caché por separado y solo se almacenan en caché los fragmentos de vídeo que se han solicitado.So each bitrate and protocol are cached separately and only those video fragments that have been requested are cached.

A excepción del entorno de prueba, se recomienda que CDN esté habilitado para los puntos de conexión de streaming Estándar y Premium.Except for the test environment, we recommend that CDN be enabled for both Standard and Premium streaming endpoints. Cada tipo de punto de conexión de streaming tiene un límite de rendimiento admitido diferente.Each type of streaming endpoint has a different supported throughput limit. Es difícil realizar un cálculo preciso del número máximo de streamings simultáneos que admite un punto de conexión de streaming, ya que hay varios factores que se deben tener en cuenta.It is difficult to make a precise calculation for the maximum number of concurrent streams supported by a streaming endpoint as there are various factors to take into account. Entre ellas se incluyen las siguientes:These include:

  • Velocidades de bits máximas usadas para el streaming.Maximum bitrates used for streaming
  • Comportamiento de búfer previo y de conmutación del reproductor.Player pre-buffer and switching behavior. Los reproductores intentan transferir en ráfagas los segmentos desde un origen y usan la velocidad de carga para calcular el cambio de velocidad de bits adaptable.Players try to burst segments from an origin and use load speed to calculate adaptive bitrate switching. Si un punto de conexión de streaming se aproxima a la saturación, los tiempos de respuesta pueden variar y los reproductores empiezan a cambiar a una calidad inferior.If a streaming endpoint gets close to saturation, response times can vary and players start switching to lower quality. Dado que esto reduce la carga en los reproductores de punto de conexión de streaming, revierta a una mayor calidad creando desencadenadores de conmutación no deseados.As this is reducing load on the Streaming Endpoint players, scale back to higher quality creating unwanted switching triggers. En general, es seguro calcular el número máximo de streamings tomando el rendimiento máximo de los puntos de conexión de streaming y dividiéndolo por la velocidad de bits máxima (suponiendo que todos los reproductores usen la velocidad de bits más alta). Por ejemplo, puede tener un punto de conexión de streaming estándar que esté limitado a 600 Mbps y la velocidad de bits máxima de 3 Mbps.Overall it is safe to estimate the maximum concurrent streams by taking the maximum streaming endpoint throughput and divide this by the maximum bitrate (assuming all players use the highest bitrate.) For example, you can have a Standard streaming endpoint which is limited to 600 Mbps and the highest bitrate of 3Mbp. En este caso, se admiten aproximadamente 200 secuencias simultáneas a la velocidad de bits más alta.In this case, approximately 200 concurrent streams are supported at the top bitrate. Recuerde también tener en cuentan los requisitos de ancho de banda de audio.Remember to factor in the audio bandwidth requirements as well. Aunque es posible que una secuencia de audio solo se transmita a 128 kbps, el streaming total aumenta rápidamente cuando se multiplica por el número de secuencias simultáneas.Although an audio stream may only be streaming at 128 kps, the total streaming adds up quickly when you multiply it by the number of concurrent streams.

En este tema se describe la habilitación de la integración de CDN.This topic discusses enabling CDN integration. También se explica la captura previa (almacenamiento en caché activo) y el concepto Origin-Assist CDN-Prefetch.It also explains prefetching (active caching) and the Origin-Assist CDN-Prefetch concept.

ConsideracionesConsiderations

  • El punto de conexión de streaming hostname y la dirección URL de streaming se mantienen independientemente de si habilita CDN.The streaming endpoint hostname and the streaming URL remain the same whether or not you enable CDN.
  • Si necesita poder probar el contenido con o sin CDN, cree otro punto de conexión de streaming que no tenga la red CDN habilitada.If you need the ability to test your content with or without CDN, create another streaming endpoint that isn't CDN enabled.

Habilitación de la integración de Azure CDNEnable Azure CDN integration

Importante

No puede habilitar CDN con cuentas de prueba o cuentas educativas de Azure.You can't enable CDN for trial or student Azure accounts.

La integración de la red CDN está habilitada en todos los centros de datos de Azure excepto para las regiones Gobierno Federal y China.CDN integration is enabled in all the Azure data centers except Federal Government and China regions.

Después de aprovisionar un punto de conexión de streaming con la red CDN habilitada, hay un tiempo de espera definido en Media Services antes de realizar la actualización de DNS para asignar el punto de conexión de streaming al punto de conexión de CDN.After a streaming endpoint is provisioned with CDN enabled, there's a defined wait time on Media Services before DNS update is done to map the streaming endpoint to CDN endpoint.

Si más adelante desea volver a habilitar o deshabilitar la red CDN, punto de conexión de streaming debe estar en estado stopped (detenido).If you later want to disable/enable the CDN, your streaming endpoint must be in the stopped state. Una vez iniciado el punto de conexión de streaming es posible que transcurran hasta cuatro horas para que la integración de Azure CDN se habilite y los cambios se activen en todos los POP de la red CDN.Once the streaming endpoint is started it could take up to four hours for the Azure CDN integration to be enabled and for the changes to be active across all the CDN POPs. Sin embargo, puede iniciar el punto de conexión de streaming y transmitir sin interrupciones desde el mismo.However, you can start your streaming endpoint and stream without interruptions from the streaming endpoint. Una vez completada la integración, la transmisión se realiza desde CDN.Once the integration is complete, the stream is delivered from the CDN. Durante el período de aprovisionamiento, el punto de conexión de streaming estará en estado iniciando y es posible que note una reducción en el rendimiento.During the provisioning period, your streaming endpoint will be in the starting state and you might observe degraded performance.

Cuando se crea el punto de conexión de streaming Estándar, se configura de forma predeterminada con Standard Verizon.When the Standard streaming endpoint is created, it's configured by default with Standard Verizon. Puede configurar los proveedores Premium Verizon o Standard Akamai mediante las API REST.You can configure Premium Verizon or Standard Akamai providers using REST APIs.

La integración de Azure Media Services con Azure CDN se implementa en Azure CDN de Verizon para puntos de conexión de streaming estándar.Azure Media Services integration with Azure CDN is implemented on Azure CDN from Verizon for standard streaming endpoints. Los puntos de conexión de streaming premium pueden configurarse con todos los proveedores y planes de tarifa de Azure CDN.Premium streaming endpoints can be configured using all Azure CDN pricing tiers and providers.

Nota

Para más información sobre Azure CDN, consulte Información general de la red CDN.For details about Azure CDN, see the CDN overview.

Determinar si se realizó el cambio de DNSDetermine if a DNS change was made

Puede determinar si se ha realizado el cambio de DNS en un punto de conexión de streaming (el tráfico se dirige a la red Azure CDN) mediante https://www.digwebinterface.com.You can determine if DNS change was made on a streaming endpoint (the traffic is being directed to the Azure CDN) by using https://www.digwebinterface.com. Si los resultados tienen los nombres de dominio azureedge.net, el tráfico se dirige ahora a la red CDN.If you see azureedge.net domain names in the results, the traffic is now being pointed to the CDN.

Origin-Assist CDN-PrefetchOrigin-Assist CDN-Prefetch

El almacenamiento en caché de CDN es un proceso reactivo.CDN caching is a reactive process. Si CDN puede predecir el siguiente objeto que se va a solicitar, también puede solicitar y almacenar en caché el siguiente objeto de forma proactiva.If CDN can predict what the next object will be requested, CDN can proactively request and cache the next object. Con este proceso, se puede lograr un acierto de caché para todos los objetos (o la mayoría de ellos), por lo que se mejora el rendimiento.With this process, you can achieve a cache-hit for all (or most) of the objects, which improves performance.

El concepto de captura previa se esfuerza por colocar los objetos en el "perímetro de Internet" previendo que el reproductor lo solicitará de manera inminente, lo que reduce el tiempo de entrega del objeto al reproductor.The concept of prefetching strives to position objects at the "edge of the internet" in anticipation that these will be requested by the player imminently, thereby reducing the time to deliver that object to the player.

Para lograr este objetivo, un punto de conexión de streaming (origen) y CDN deben funcionar conjuntamente de dos formas:To achieve this goal, a streaming endpoint (origin) and CDN need to work hand-in-hand in a couple ways:

  • El origen de Media Services debe tener la "inteligencia" (Origin-Assist) para informar a CDN del siguiente objeto que se va a capturar previamente.The Media Services origin needs to have the "intelligence" (Origin-Assist) to inform CDN the next object to prefetch.
  • CDN realiza la captura previa y el almacenamiento en caché (la parte de CDN-Prefetch).CDN does the prefetch and caching (CDN-prefetch part). CDN también debe tener la "inteligencia" para notificar al origen si se trata de una captura previa o una captura normal y para controlar las respuestas 404. Además, debe tener una manera de evitar un bucle de captura previa sin fin.CDN also needs to have the "intelligence" to inform the origin whether it's a prefetch or a regular fetch, handle the 404 responses, and a way to avoid endless prefetch loop.

VentajasBenefits

Las ventajas de la característica Origin-Assist CDN-Prefetch incluyen:The benefits of the Origin-Assist CDN-Prefetch feature includes:

  • La captura previa mejora la calidad de la reproducción de vídeo, ya que coloca previamente los segmentos de vídeo previstos en el perímetro durante la reproducción. Esto reduce la latencia para el espectador y mejora los tiempos de descarga de los segmentos de vídeo.Prefetch improves video playback quality by pre-positioning anticipated video segments at the edge during playback, reducing latency to the viewer, and improving video segment download times. El resultado es un tiempo de inicio del vídeo más rápido y menos repeticiones de almacenamiento en búfer.This results in faster video start-up time and lower rebuffering occurrences.
  • Este concepto es aplicable al escenario general de CDN-Origin y no se limita a los elementos multimedia.This concept is applicable to general CDN-origin scenario and isn't limited to media.
  • Akamai ha agregado esta característica a Akamai Cloud Embed (ACE).Akamai has added this feature to Akamai Cloud Embed (ACE).

Nota

Esta característica todavía no es aplicable a la red CDN de Akamai integrada con el punto de conexión de streaming de Media Services.This feature is not yet applicable to the Akamai CDN integrated with Media Services streaming endpoint. Sin embargo, está disponible para los clientes de Media Services que tienen un contrato de Akamai existente y requieren una integración personalizada entre la red CDN de Akamai y el origen de Media Services.However, it's available for Media Services customers that have a pre-existing Akamai contract and require custom integration between Akamai CDN and the Media Services origin.

FuncionamientoHow it works

La compatibilidad de CDN con los encabezados Origin-Assist CDN-Prefetch (para el streaming a petición tanto en vivo como en vídeo) está disponible para los clientes que tienen un contrato directo con CDN de Akamai.CDN support for the Origin-Assist CDN-Prefetch headers (for both live and video on-demand streaming) is available to customers who have direct contract with Akamai CDN. La característica supone los siguientes intercambios de encabezados HTTP entre CDN de Akamai y el origen de Media Services:The feature involves the following HTTP header exchanges between Akamai CDN and the Media Services origin:

Encabezado HTTPHTTP header ValoresValues RemitenteSender ReceptorReceiver PropósitoPurpose
CDN-Origin-Assist-Prefetch-Enabled 1 (valor predeterminado) o 01 (default) or 0 CDNCDN OrigenOrigin Para indicar que la red CDN está habilitada para la captura previa.To indicate CDN is prefetch enabled.
CDN-Origin-Assist-Prefetch-Path Ejemplo:Example:
Fragments(video=1400000000,format=mpd-time-cmaf)Fragments(video=1400000000,format=mpd-time-cmaf)
OrigenOrigin CDNCDN Para proporcionar la ruta de acceso de captura previa de la red CDN.To provide prefetch path to CDN.
CDN-Origin-Assist-Prefetch-Request 1 (solicitud de captura previa) o 0 (solicitud normal)1 (prefetch request) or 0 (regular request) CDNCDN OrigenOrigin Para indicar que la solicitud de CDN es una captura previa.To indicate the request from CDN is a prefetch.

Para ver en acción parte del intercambio de encabezados, puede probar los pasos siguientes:To see part of the header exchange in action, you can try the following steps:

  1. Use Postman o cURL para emitir una solicitud de segmento o fragmento de audio o vídeo al origen de Media Services.Use Postman or cURL to issue a request to the Media Services origin for an audio or video segment or fragment. Asegúrese de agregar el encabezado CDN-Origin-Assist-Prefetch-Enabled: 1 en la solicitud.Make sure to add the header CDN-Origin-Assist-Prefetch-Enabled: 1 in the request.
  2. En la respuesta, se debería mostrar el encabezado CDN-Origin-Assist-Prefetch-Path y debería tener como valor una ruta de acceso relativa.In the response, you should see the header CDN-Origin-Assist-Prefetch-Path with a relative path as its value.

Protocolos de streaming admitidosSupported streaming protocols

La característica Origin-Assist CDN-Prefetch admite los siguientes protocolos de streaming para el streaming en vivo y a petición:The Origin-Assist CDN-Prefetch feature supports the following streaming protocols for live and on-demand streaming:

  • HLS v3HLS v3
  • HLS v4HLS v4
  • HLS CMAFHLS CMAF
  • DASH (CSF)DASH (CSF)
  • DASH (CMAF)DASH (CMAF)
  • Streaming con velocidad de transmisión adaptableSmooth streaming

Preguntas más frecuentesFAQs

  • ¿Qué ocurre si una dirección URL de ruta de acceso de captura previa no es válida y la captura previa de CDN obtiene una respuesta 404?What if a prefetch path URL is invalid so that CDN prefetch gets a 404?

    CDN solo almacena en caché una respuesta 404 durante 10 segundos (u otro valor configurado).CDN will only cache a 404 response for 10 seconds (or other configured value).

  • Supongamos que tiene un vídeo a petición.Suppose you have an on-demand video. Si la captura previa de CDN está habilitada, ¿esta característica implica que una vez que un cliente solicite el primer segmento de vídeo, la captura previa iniciará un bucle para capturar previamente todos los segmentos de vídeo posteriores con la misma velocidad de bits?If CDN-prefetch is enabled, does this feature imply that once a client requests the first video segment, prefetch will start a loop to prefetch all subsequent video segments at the same bitrate?

    No, CDN-Prefetch solo se realiza después de una solicitud/respuesta iniciada por el cliente.No, CDN-prefetch is done only after a client-initiated request/response. Para evitar un bucle de captura previa, CDN-Prefetch nunca se desencadena con una captura previa.CDN-prefetch is never triggered by a prefetch, to avoid a prefetch loop.

  • ¿La característica Origin-Assist CDN-Prefetch está siempre activada?Is Origin-Assist CDN-Prefetch feature always on? ¿Cómo se puede activar o desactivar?How can it be turned on/off?

    Esta característica está desactivada de manera predeterminada.This feature is off by default. Los clientes deben activarla a través de la API de Akamai.Customers need to turn it on via Akamai API.

  • En el caso del streaming en vivo, ¿qué pasaría con Origin-Assist si el siguiente segmento o fragmento no está disponible todavía?For live streaming, what would happen to Origin-Assist if the next segment or fragment isn't yet available?

    En este caso, el origen de Media Services no proporcionará el encabezado CDN-Origin-Assist-Prefetch-Path y no se ejecutará la característica CDN-Prefetch.In this case, the Media Services origin won't provide CDN-Origin-Assist-Prefetch-Path header and CDN-prefetch will not occur.

  • ¿Cómo funciona Origin-Assist CDN-Prefetch con los filtros de manifiesto dinámico?How does Origin-Assist CDN-Prefetch work with dynamic manifest filters?

    Esta característica funciona independientemente del filtro del manifiesto.This feature works independently of manifest filter. Cuando el siguiente fragmento está fuera de una ventana de filtro, su dirección URL se podrá encontrar en el manifiesto del cliente sin formato y, a continuación, se devolverá como el encabezado de respuesta de la captura previa de CDN.When the next fragment is out of a filter window, its URL will still be located by looking into the raw client manifest and then returned as CDN prefetch response header. De este modo, CDN obtendrá la dirección URL de un fragmento filtrado del manifiesto DASH/HLS/Smooth.So CDN will get the URL of a fragment that's filtered out from DASH/HLS/Smooth manifest. Sin embargo, el reproductor nunca realizará una solicitud GET a CDN para capturar ese fragmento, ya que dicho fragmento no se incluye en el manifiesto DASH/HLS/Smooth del reproductor (el reproductor no conoce la existencia de ese fragmento).However, the player will never make a GET request to CDN to fetch that fragment, because that fragment isn't included in the DASH/HLS/Smooth manifest held by the player (the player doesn't know that fragment's existence).

  • ¿Se puede realizar una captura previa de DASH MPD, la lista de reproducción de HLS o el manifiesto Smooth?Can DASH MPD/HLS playlist/Smooth manifest be prefetched?

    No, DASH MPD, la lista de reproducción maestra de HLS, la lista de reproducción de la variante HLS o la dirección URL del manifiesto Smooth no se agregan al encabezado de captura previa.No, DASH MPD, HLS master playlist, HLS variant playlist, or smooth manifest URL isn't added to the prefetch header.

  • ¿Las direcciones URL de captura previa son relativas o absolutas?Are prefetch URLs relative or absolute?

    Mientras que CDN de Akamai admite ambas opciones, el origen de Media Services solo proporciona direcciones URL relativas para la ruta de acceso de captura previa porque el uso de direcciones URL absolutas no presenta ninguna ventaja aparente.While Akamai CDN allows both, the Media Services origin only provides relative URLs for prefetch path because there's no apparent benefit in using absolute URLs.

  • ¿Esta característica funciona con el contenido protegido con DRM?Does this feature work with DRM-protected contents?

    Sí. Ya que esta característica funciona en el nivel HTTP, no descodifica ni analiza ningún segmento o fragmento.Yes, since this feature works at the HTTP level, it doesn't decode or parse any segment/fragment. No tiene en cuenta si el contenido está cifrado o no.It doesn't care whether the content is encrypted or not.

  • ¿Esta característica funciona con la inserción de anuncios del lado del servidor (SSAI)?Does this feature work with Server Side Ad Insertion (SSAI)?

    Funciona para el contenido original o principal (el contenido del vídeo original antes de la inserción de anuncios), ya que SSAI no cambia la marca de tiempo del contenido de origen indicada en el origen de Media Services.It does for original/main content (the original video content before ad insertion) works, since SSAI doesn't change the timestamp of the source content from the Media Services origin. Si esta característica funciona con el contenido del anuncio, depende de si el origen del anuncio es compatible con Origin-Assist.Whether this feature works with ad contents depends on whether ad origin supports Origin-Assist. Por ejemplo, si el contenido del anuncio también se hospeda en Azure Media Services (en el mismo origen o uno diferente), también se realizará la captura previa del contenido del anuncio.For example, if ad contents are also hosted in Azure Media Services (same or separate origin), ad contents will also be prefetched.

  • ¿Esta característica funciona con el contenido UHD/HEVC?Does this feature work with UHD/HEVC contents?

    Sí.Yes.

Formule preguntas, realice comentarios y obtenga actualizacionesAsk questions, give feedback, get updates

Consulte el artículo Comunidad de Azure Media Services para ver diferentes formas de formular preguntas, enviar comentarios y obtener actualizaciones de Media Services.Check out the Azure Media Services community article to see different ways you can ask questions, give feedback, and get updates about Media Services.

Pasos siguientesNext steps