Los clientes usan Amazon CloudFront para distribuir por streaming videos a espectadores de todo el mundo a través de una amplia variedad de protocolos superpuestos sobre HTTP.

Amazon CloudFront se puede usar con los servicios multimedia AWS Elemental para implementar dos tipos diferentes de streaming de videos. Primero analizaremos el streaming bajo demanda de contenido almacenado en Amazon Simple Storage Service (Amazon S3). A continuación, examinaremos el streaming en directo de eventos o canales de transmisión continua.

Building Serverless Video Workflows (58:42)

Video de re:Invent: Amazon CloudFront

Introducción a AWS

Pruebe Amazon CloudFront de forma gratuita


La capa gratuita de AWS incluye 50 GB de transferencias de datos salientes y 2 000 000 de solicitudes HTTP y HTTPS con Amazon CloudFront.

Consulte los detalles de la capa gratuita de AWS »


VOD Architecture CloudFront

En el caso del streaming bajo demanda, el contenido de los videos se almacena en Amazon S3. Los espectadores pueden optar por verlo en el momento que deseen, de allí el nombre "bajo demanda". Normalmente, una solución de streaming bajo demanda completa usa Amazon S3 para almacenamiento, AWS Elemental MediaConvert para el procesamiento de videos basado en archivos y Amazon CloudFront para la entrega.

Amazon S3 es un servicio de almacenamiento excelente para sus recursos de videos. Puede escalarse sin límites, cuenta con redundancia integrada y se encuentra disponible mediante un esquema de pago por uso. Puede cargar contenido a S3 de diferentes maneras. Puede empezar usando la consola de administración de AWS cuando el volumen es bajo y, a continuación, recurrir a un sistema más automatizado a medida que el volumen aumente. Usar S3 desde la consola es muy sencillo. Después de crear su cuenta de AWS, tan solo debe iniciar sesión, crear un bucket de S3 y, a continuación, cargar el contenido. Si desea implementar un sistema automatizado, puede usar la interfaz de línea de comandos de AWS en sus propias secuencias de comandos o las API de Amazon S3 en su propio código.

Una vez finalizada la carga, tal vez necesite convertir su video al tamaño, resolución o formato requeridos por un televisor o un dispositivo conectado en particular. AWS Elemental MediaConvert se encargará de esta tarea por usted. MediaConvert toma contenido de S3, lo transcodifica a partir de su solicitud y almacena el resultado nuevamente en S3. La tarea de transcodificación procesa archivos de video para crear versiones comprimidas del contenido original para reducir su tamaño, modificar su formato o aumentar la compatibilidad con dispositivos de reproducción. En este caso también puede administrar el proceso a partir de la consola de administración de AWS, la línea de comandos o las API de MediaConvert.

Con el contenido almacenado de manera segura y disponible en los formatos requeridos por los usuarios, el próximo paso es la entrega global con Amazon CloudFront. CloudFront almacena en caché el contenido en los bordes para lograr un bajo nivel de latencia y una entrega de videos con alto procesamiento. La escalabilidad le permite entregar el volumen de videos que desee. Puede atender picos inesperados de demanda con facilidad con un esquema de precios de pago por uso (consulte los precios de CloudFront para obtener más información).

En este punto la historia se bifurca y tiene dos opciones disponibles. Puede entregar el archivo del video entero al dispositivo antes de reproducirlo o puede distribuirlo por streaming al dispositivo.

La primera opción es muy fácil de implementar y la admiten casi todos los dispositivos móviles y escritorios. Todo lo que debe hacer es insertar el contenido en un bucket de S3 y crear una distribución de CloudFront que apunte al bucket. El reproductor de video de su usuario usará las URL de CloudFront (accesibles como parte de la distribución) para solicitar el archivo de video. La solicitud se dirigirá a la mejor ubicación de borde en función de la ubicación del usuario. CloudFront suministrará el video a partir de su caché o lo buscará en el bucket de S3 si aún no se encuentra en la caché. Esta opción tiene un par de desventajas. Hace un uso ineficiente del ancho de banda de su espectador. Si al usuario no le interesa mirar el video entero, el contenido que jamás se verá se descargará igualmente y usted pagará por él.

La segunda opción es la que casi siempre se prefiere. Una familia de protocolos de streaming de videos, incluidos HTTP Live Streaming de Apple (HLS), Dynamic Adaptive Streaming over HTTP (DASH), Smooth Streaming de Microsoft (MSS) y HTTP Dynamic Streaming de Adobe (HDS), mejora la experiencia del usuario a través de la entrega de videos a medida que se miran, donde generalmente se busca el contenido con unos segundos de anticipación a su reproducción. La reproducción comienza con mayor rapidez, los adelantamientos son más eficientes y la experiencia integral del cliente es más uniforme. Con esta opción, solo paga por lo que el espectador mira, no desperdicia ancho de banda del usuario y los usuarios pueden ver el contenido que desean con mayor rapidez.

Deberá tomarse un poco más de trabajo para poder implementar la segunda opción. Primero, use MediaConvert para convertir los archivos de video al formato HLS (el protocolo de streaming con mayor compatibilidad). Este proceso dividirá el video en segmentos breves y también creará un archivo de manifiesto. A continuación, apunta la distribución de CloudFront al manifiesto. Finalmente, para reproducir la transmisión en directo, incorpore la URL del manifiesto en los reproductores que los usuarios usarán para reproducir la transmisión en directo. Por ejemplo, para reproducir una transmisión en directo con un archivo de manifiesto que sea myStream/playlist.m3u8 y la distribución de CloudFront sea d111111abcdef8.cloudfront.net, debe incorporar la siguiente URL en los reproductores: http://d111111abcdef8.cloudfront.net/myStream/playlist.m3u8

La página "Videos bajo demanda en AWS" incluye prácticas recomendadas y directrices a tener en cuenta a la hora de implementar un video en un flujo de trabajo bajo demanda en la nube de AWS. Además, presenta una solución de AWS que aprovisiona de manera automática los servicios necesarios para crear una arquitectura escalable y distribuida que incorpore, almacene, procese y entregue contenido de videos.


Live Events CloudFront

En el caso del streaming en directo, el contenido representa eventos en directo o la entrega de un canal en directo de transmisión continua. Ejemplos del primer caso incluyen emisoras y agregadores de contenido que distribuyen por streaming torneos deportivos, ceremonias de premiaciones, palabras de presentaciones y otros eventos en directo con alto nivel de audiencia. Ejemplos del segundo caso incluyen estudios, emisoras y operadoras de servicio televisivo pagas que quieren empaquetar y entregar canales lineales en directo a través de Internet directamente a sus audiencias, sin ninguna plataforma de distribución externa.

Puede usar AWS para emitir de manera rentable contenido en directo a una audiencia global con unos simples pasos.

El primero paso es el procesamiento de videos en directo. Para esa tarea, puede usar AWS Elemental MediaLive, que codifica transmisiones de video en directo en tiempo real. Para ello, toma una fuente de video en directo de mayor tamaño, por ejemplo, que provenga de un codificador local como AWS Elemental Live, y la comprime en versiones más pequeñas para distribuirlas a sus espectadores. Para el segundo paso, tiene dos opciones en función de su caso de uso. Puede usar un origen de empaquetado oportuno como AWS Elemental MediaPackage para convertir contenido de video de un único formato a varios formatos y empaquetarlo de manera segura para diferentes tipos de dispositivos. MediaPackage facilita la implementación de características de video conocidas para los espectadores (volver a empezar, detener, rebobinar, etc.), como las que están normalmente disponibles en los DVR. También puede proteger su contenido con administración de derechos digitales (DRM). Opcionalmente, si el codificador ya está poniendo el contenido en el formato requerido por todos los dispositivos de destino de los espectadores finales, puede usar un origen escalable de alto desempeño, como AWS Elemental MediaStore. MediaPackage y MediaStore entregan el contenido a Amazon CloudFront, que lo direccionará a la audiencia que está viendo el evento en directo.

Una vez que su solución se encuentre en funcionamiento, es posible transmitir el evento en directo a todo el mundo de una manera escalable y rentable. CloudFront puede ajustarse a una audiencia con tamaño variable y puede gestionar incrementos repentinos de público.

La página "Streaming de videos en directo" incluye prácticas recomendadas y directrices a tener en cuenta a la hora de elegir un flujo de trabajo de streaming de videos en directo en la nube de AWS. Además, presenta una solución de AWS que aprovisiona automáticamente los servicios necesarios para crear una arquitectura rentable y de alta disponibilidad que ofrezca una experiencia de visualización en tiempo real excepcional.


Los clientes usan Amazon CloudFront para distribuir por streaming videos a espectadores de todo el mundo a través de una amplia variedad de protocolos superpuestos sobre HTTP.

Pruebe Amazon CloudFront de forma gratuita