Foto de Cooler8 en Shutterstock
El streaming en vivo se volvió una pieza clave para conectar con audiencias y transmitir eventos en tiempo real. Con el auge de plataformas como Vimeo, YouTube Live y Facebook Live, la demanda de soluciones de streaming en vivo de alta calidad, confiables y escalables creció de forma exponencial. Amazon Web Services (AWS) ofrece un completo conjunto de herramientas para streaming en vivo, y uno de los servicios clave en este ámbito es Amazon Elemental MediaLive, un servicio de procesamiento de video en vivo de calidad broadcast.
Ya sea que transmitas eventos en vivo, deportes, noticias o entretenimiento, garantizar una experiencia de streaming fluida para tus espectadores es fundamental. Sin embargo, armar y gestionar un flujo de trabajo confiable de streaming en vivo puede ser complejo. Ahí es donde entra AWS Elemental MediaLive, con una solución robusta y escalable para procesar video en vivo en la nube. Te permite conectar con audiencias en tiempo real, fomentar la interacción y entregar contenido de alto impacto, además de ofrecer capacidades avanzadas de procesamiento de video como transcodificación, empaquetado y cifrado, lo que asegura una entrega de alta calidad en distintos dispositivos y plataformas a nivel global.
En esta guía para principiantes vamos a ver cómo desplegar rápidamente una solución de streaming en vivo en AWS, usando la función Workflow Wizard de AWS Elemental MediaLive en pocos minutos, y de paso repasaremos algunos conceptos básicos. ¡Empecemos!

Flujo arquitectónico
**Crear el workflow**
Paso 1: Crear el workflow
Entra a la consola de AWS Elemental MediaLive → Haz clic en "Workflow wizard" → "Create workflow".

Workflow wizard

Crear workflow
Paso 2: Ingresar los datos básicos
Workflow Name . p. ej. myfirst-medialive-channel → Selecciona la MediaLive Channel Class. p. ej. Single pipeline → rol IAM . p. ej. Crear un rol (primero créalo y luego selecciónalo) → Siguiente.

Paso 2
Nota — un canal single pipeline te da un endpoint estático para enviar tu stream y un canal standard te da 2 endpoints estáticos. P. ej. rtmp://3.216.59.247:1935/myfirst-medialive/input-1
Paso 3: Elegir una fuente de video
3.1: Elegir un tipo de input

3.1: Elegir un tipo de input
Al momento de elegir el input hay cuatro opciones disponibles, y conviene seleccionar la que mejor se adapte a tu caso de uso. Para esta demostración vamos a usar RTMP (push).
- Elemental Link — son dispositivos de codificación que conectan una fuente de video en vivo, como una cámara o equipo de producción de video, con la nube (MediaLive).

Opciones de dispositivos Elemental Link
2. MediaConnect — es un servicio de transporte de video en vivo confiable, seguro y flexible, que les permite a broadcasters y dueños de contenido armar flujos de trabajo de video en vivo y compartir contenido en vivo de forma segura con socios y clientes. Sirve para operar canales o transmitir eventos en vivo y para mover streams de video de alto valor hacia, a través y fuera de la nube de AWS.
- MP4 — Puedes enviar archivos de input MP4 (extensión .mp4) que no son de streaming directamente desde S3 a un Elemental MediaLive Channel y reproducirlos como una emisión en vivo.
4. RTMP (push) — Puedes ingestar contenido en streaming desde un teléfono móvil o una computadora. Puedes usar el software de broadcasting que prefieras.
3.2: Selecciona o crea un input

3.2: Selecciona o crea un input
Nota — al crear el input puedes elegir cualquier nombre para el Application name y Application instance, pero piénsalos como el endpoint y la stream key al transmitir. Conviene que sean complejos para que sean difíciles de adivinar. También existe otro mecanismo de seguridad (paso 3.3): el security group, que define desde qué redes se puede enviar el stream a tus endpoints.
3.3: Crea o reutiliza un input security group — Para limitar las fuentes de stream de tu canal de MediaLive, especifica los orígenes de input permitidos usando rangos CIDR de red de tus fuentes autorizadas, como:
- IP específica de una máquina
- Rango de red del estudio
- Bloque CIDR on-prem o de VPC
De esta forma se asegura que solo redes confiables puedan enviar contenido a tu canal. P. ej.

3.3: Crea o reutiliza un input security group
3.4: Selecciona el input codec — Lo dejé en su valor por defecto, pero puedes consultar los codecs de video y audio compatibles con MediaLive aquí.

3.4: Selecciona el input codec
Paso 4: Agregar salidas de video
4.1: Elige a dónde enviar tu video — Acá tienes varias opciones, como MediaPackage, HLS hacia MediaStore, y plataformas de redes sociales como Facebook, YouTube y Twitch TV. Puedes seleccionar una o varias opciones según tu necesidad y elegir la calidad de video entre Standard y Enhanced.
Nota: cuando se habilita la calidad de video Enhanced, MediaLive logra mejor calidad sin aumentar el bitrate. Este campo se aplica a todas las salidas de tu workflow. Esta función tiene un costo adicional.

4.2: Destino MediaPackage

Puedes agregar resoluciones y framerates adicionales para llegar mejor a tus espectadores.

Resoluciones y framerates adicionales
Paso 5: Revisar y crear
Ahora puedes ver que el estado del workflow es "create in progress". Esto significa que tu workflow creó una plantilla de CloudFormation según las opciones que seleccionaste y que ya se está desplegando.

Workflow en progreso

CloudFormation del workflow en progreso.
Paso 6: Revisar los detalles
6.1: Workflow completado — Ten en cuenta que todavía no iniciamos el workflow. Está en estado Idle, lo que significa que tu canal de MediaLive no está corriendo.

6.2: Despliegue de CloudFormation completado — CloudFormation desplegó múltiples recursos correctamente.

Workflow Wizard creó y desplegó la plantilla de CloudFormation y conectó todos los componentes entre sí. El workflow queda así: Fuente en vivo → RTMP Push → MediaLive Input → MediaLive Channel (transcodificación) → MediaPackage (empaquetado) → CloudFront (distribución global) → Usuarios finales.
AWS Elemental MediaLive recibe y procesa el input RTMP y lo transcodifica para producir múltiples formatos de salida según lo que hayas seleccionado. P. ej. (paso 4.2)
- 1080p60 (1920x1080 a 60fps, hasta 6 Mbps)
- 1080p30 (1920x1080 a 30fps, hasta 5 Mbps)
- 720p60 (1280x720 a 60fps, hasta 5 Mbps)
- 720p30 (1280x720 a 30fps, hasta 3 Mbps)
- 480p30 (854x480 a 30fps, hasta 1.5 Mbps)
- 240p30 (426x240 a 30fps, hasta 750 Kbps)
AWS Elemental MediaPackage se encarga del empaquetado. El canal de MediaPackage recibe todos los streams procesados y entrega tres tipos distintos de salidas (endpoints) a partir del contenido transcodificado. Crea y administra las playlists/manifiestos.
- Endpoint HLS (para dispositivos Apple y compatibilidad general)
- Endpoint DASH (para Android y otros reproductores compatibles con DASH)
- Endpoint CMAF (Common Media Application Format, para streaming moderno)
AWS CloudFront se encarga de la distribución global de los streams hacia los usuarios.
Antes de iniciar el workflow y empezar a enviar el stream a nuestro canal de Elemental MediaLive, vale la pena mencionar que puedes asociar hasta 20 inputs a un mismo canal de MediaLive. Hay algunas limitaciones según el tipo de input. El caso de uso puede variar. Por ejemplo, podrías querer alternar inputs en tu canal de MediaLive durante una transmisión en vivo: el primer stream podría tener un video en loop antes de que arranque el evento, y el segundo entrar en vivo cuando arranca; el cambio de inputs es posible con los schedules de MediaLive, pero ese es tema para otro momento.
Ahora, anota los datos de tu input endpoint. Puedes obtenerlos desde Workflow Wizard, desde los detalles del MediaLive Channel o desde la sección Input.
P. ej. rtmp://3.216.59.247:1935/myfirst-medialive/input-1
Yo estoy usando OBS Studio para transmitir mi contenido, pero puedes elegir la herramienta de streaming que prefieras.
Transmite contenido a tu canal
Paso 7: Configurar OBS
7.1: Configurar la fuente del stream en OBS

Fuente
7.2: Configurar el destino en OBS
Mi input endpoint es rtmp://3.216.59.247:1935/myfirst-medialive/input-1 y le había asignado el Application name: myfirst-medialive y el Application instance: input-1 (stream key).

Destino de la transmisión
Paso 8: Iniciar Workflow Wizard
Verifica que tu canal de Elemental MediaLive esté en estado Running y no en estado Idle.

Canal en línea
Paso 9: Transmisión de video en vivo
Inicia el RTMP push haciendo clic en "start streaming" en OBS Studio.

Ve al endpoint HLS y haz clic en "Preview Player" para ver tu stream en vivo.

Endpoint HLS

Transmisión en vivo con MediaLive
¡Y listo! Configurar streaming en vivo en AWS no tiene por qué ser complicado. Con Workflow Wizard de MediaLive, puedes tener tus streams al aire en minutos en lugar de horas. Y puedes crear plantillas más personalizadas para reutilizarlas.
**Limpieza**
Entra a Workflow Wizard → Selecciona tu workflow → Stop Workflow → Delete Workflow.
Ya sea que estés armando una plataforma de streaming o explorando las capacidades de medios de AWS, espero que este recorrido te haya servido para simplificar la configuración de MediaLive. Desde el diseño de arquitectura en la nube hasta la automatización de infraestructura, DoiT International ofrece experiencia integral para modernizar tu infraestructura en la nube. ¿Listo para optimizar tu implementación de AWS Media Services? Contáctanos aquí y conoce nuestras soluciones de ingeniería en la nube.