Una transmisión en vivo puede ser un evento puntual (un servicio dominical, el lanzamiento de un producto, la conferencia magistral de un congreso, una boda, un webinar, un panel en un festival pequeño), una emisión ocasional (un programa semanal, un Q&A mensual) o un canal continuo 24/7. La infraestructura que la industria del streaming ha levantado durante los últimos quince años da por hecho que las tres cosas necesitan la misma pila pesada: una cámara, un codificador, un envío RTMP a un servidor de streaming, un transcodificador en la nube, un empaquetador, una CDN y un reproductor. Cinco piezas en movimiento, cuatro facturas, tres puntos donde la autenticación puede fallar y un diagrama de arquitectura que nadie en tu equipo es capaz de dibujar de memoria.
Para una audiencia pequeña o mediana, no necesitas nada de eso. Ni el servidor de streaming, ni el transcodificador en la nube, ni el empaquetador, ni la CDN. Ya sea que transmitas dos horas el domingo por la mañana o que corras un canal que nunca duerme, la misma arquitectura sencilla lo cubre.
El secreto a voces es que en un Mac moderno, cuatro de esas cinco cajas ya existen dentro del portátil que tienes en el escritorio. El codificador H.264 que Final Cut Pro usa para exportar es el mismo codificador por hardware que viene en cada chip de Apple silicon. Los codificadores HEVC y AV1 están justo al lado. Empaquetar fragmented MP4 en segmentos HLS son unos pocos cientos de líneas de código. Subir esos segmentos a un servidor web es HTTPS PUT, que cualquier servidor ya habla. El servidor de streaming en el medio no es una ley de la física. Es simplemente una cosa que la industria se acostumbró a alquilar.
My Live TV Channel es una app de macOS que hace toda la cadena en una sola pieza de software. Captura, codificación, empaquetado, publicación. La salida es HLS estándar de broadcast, el mismo formato que Netflix, Apple, Disney+ y la BBC envían a sus espectadores. El destino es cualquier endpoint HTTPS al que apuntes. Tu propio sitio web en un hosting compartido barato (sin CDN delante), un bucket de S3, Cloudflare R2, Bunny Storage, o Akamai MSL4 si te toca operar eventos en vivo a escala de Super Bowl. A la app le da igual. Escribe segmentos. Internet los recoge.
Este artículo recorre lo que cambia cuando colapsas la cadena de streaming en una sola app, cuánto cuesta y dónde están los límites.
Lo que realmente necesitas para salir al aire
Tres cosas, en este orden.
Un Mac con entrada de video. Cualquier Mac con Apple silicon (M1 en adelante) sirve. La cámara FaceTime integrada está bien para transmisiones de busto parlante. Una cámara USB se conecta y aparece como fuente. Tu iPhone aparece como Continuity Camera, lo cual es genuinamente bueno como cámara B para eventos porque Apple se encarga del enlace inalámbrico y del autoenfoque por ti. Elige cualquier cámara integrada, USB o Continuity Camera como entrada. Una vista previa flotante picture-in-picture mantiene la cámara visible mientras trabajas en otra ventana.
Un lugar donde poner los segmentos HLS. Esta es la única pieza que importa y la única que la gente piensa de más. La app sube archivos pequeños (segmentos .m4s, de seis segundos cada uno por defecto, más diminutos archivos de playlist .m3u8) por HTTPS PUT o POST. Cualquier cosa que acepte HTTPS PUT funciona:
- Un directorio en tu propio servidor web, con PHP, Python, Node o lo que sea que ya estés ejecutando, que acepte la subida y la escriba en disco. La mayoría de los hostings estáticos (cPanel, Apache puro, nginx puro) se pueden configurar para hacer esto en menos de treinta minutos.
- Un bucket de Amazon S3. Opcionalmente con CloudFront delante para entrega global.
- Cloudflare R2 (API compatible con S3, sin tarifas de salida), Bunny Storage, Wasabi, Backblaze B2.
- Akamai MSL4, que es la capa de almacenamiento detrás del ingest en vivo de Akamai. Mismo protocolo, probado a escala para los eventos en vivo más grandes del planeta.
- Cualquier otro endpoint que hable HTTPS PUT y devuelva un código 2xx.
Una prueba gratuita de 7 días de la app. Después de eso, la función de publicación en vivo requiere una suscripción semanal que arranca en $0.99/semana. La vista previa de la cámara y la grabación local siempre son gratis, lo cual vale la pena saber si solo necesitas un grabador.
Esa es toda la lista de compras. No hay servidor de streaming. No hay RTMP. No hay VM de servidor de medios que tengas que mantener parcheada. El codificador, el transcodificador, el empaquetador y el publicador están dentro de la app en tu Mac. Lo único que viaja por el cable es HLS terminado, en una sola dirección, hacia un bucket.
Lo que reemplaza
Vale la pena ser concreto sobre lo que desaparece del diagrama de arquitectura.
El servidor de streaming. Wowza Streaming Engine, Nimble Streamer, Ant Media Server, AWS Elemental MediaLive, el ingest RTMP de Mux, y la docena de otros servicios en esta categoría existen por una razón: recibir un stream RTMP desde un codificador y convertirlo en HLS. Si tu codificador produce HLS directamente, el servidor de streaming no tiene nada que hacer. Lo puedes borrar del diagrama y del presupuesto.
El transcodificador en la nube. AWS Elemental MediaConvert, Mux Live, Bitmovin, Google Live Transcoder. Cobran por minuto de entrada y por minuto de salida. Un stream de 1080p enviado a un bitrate, transcodificado en cuatro bitrates de salida, se vuelve dinero real rápido incluso para un evento de una sola tarde, y dinero serio en un canal continuo. El codificador por hardware de Apple silicon en tu Mac es más rápido, gratis, y de la misma familia de chips que ejecuta la exportación de Final Cut Pro. Codificar las cuatro variantes ABR directamente en el Mac elimina por completo la línea del transcoder.
El empaquetador. AWS Elemental MediaPackage, Unified Streaming, el empaquetador de Wowza Streaming Cloud, todos los cuales existen para envolver un stream en HLS o DASH. La app produce HLS estándar de broadcast en el origen. No queda nada por empaquetar.
La CDN, en el caso pequeño. Esta es la que sorprende a la mayoría. Las CDN existen por dos razones: terminar tráfico global pesado cerca del espectador, y absorber picos de tráfico repentino que un origen no puede manejar. El servidor web barato que ya tienes puede entregar segmentos HLS perfectamente bien por sí solo hasta un número real y finito de espectadores concurrentes. Las cuentas son sencillas: una variante HLS de 1080p a 5 Mbps sobre un enlace de subida gigabit satura el enlace alrededor de los 200 espectadores concurrentes (1000 ÷ 5). La variante 720p a 3 Mbps lleva eso a unos 330. La variante 540p a 1.8 Mbps llega a unos 550. En una audiencia ABR real los espectadores se reparten por todos esos peldaños (usuarios móviles en variantes más bajas, escritorio en las altas), de modo que un VPS de $5 carga cómodamente unos cientos de espectadores concurrentes y a menudo más, según la mezcla de dispositivos. Eso cubre la gran mayoría de eventos puntuales y canales pequeños y medianos. Solo necesitas una CDN cuando la audiencia rebasa de forma consistente esa franja, lo cual ocurre más tarde de lo que la mayoría cree.
Sorpresas de ancho de banda por GB. Cuando tu origen es un servidor de streaming que alquilas y tu entrega es una CDN que alquilas, cada minuto-espectador toca ambos contadores. Autoalojarte mueve el contador a tu propia infraestructura: un VPS de $5 con ancho de banda generoso, un bucket de R2 sin tarifas de salida, una distribución de CloudFront a tu tarifa reservada, lo que ya hayas negociado. Nadie te va a llamar al teléfono a fin de mes porque tu stream se hizo viral.
Los términos de las plataformas. YouTube y Twitch te darán un endpoint RTMP gratis y un reproductor, y a cambio ellos deciden qué es monetizable, qué queda restringido por edad, qué se recomienda, qué se baja en qué semana. Autoalojarte no es gratis ni en tiempo ni en dinero, pero no viene con un reglamento de terceros. Tu stream, tu dominio, tus términos.
Lo que sigue igual
Autoalojarse es un cambio real, y es honesto ser claro sobre lo que no cambia.
Sigues pagando ancho de banda en algún lado. Los bytes tienen que salir de algún sitio. La elección es entre un SaaS de streaming que empaqueta transcodificación más entrega en una sola factura, y autoalojarte, donde pagas por separado la capa de almacenamiento y la salida. Para la mayoría de audiencias no triviales, la segunda opción es más barata. Para un stream con cinco espectadores, una cuenta gratuita de YouTube es más barata. Ajusta la herramienta a la audiencia.
Sigues necesitando un reproductor. Cualquier
reproductor HLS funciona. Video.js, hls.js, Shaka Player, el HLS nativo
del navegador en Safari y en iOS, el AVPlayer de Apple TV,
los reproductores de Roku, Fire TV y Android. Ninguno necesita nada
especial de tu origen. Si tu URL de destino sirve un
index.m3u8 válido, todo reproductor moderno lo va a
reproducir.
Sigues teniendo que pensar en la latencia. El HLS estándar con segmentos de seis segundos corre con aproximadamente 18 a 30 segundos de latencia de cristal a cristal. Eso está bien para programas de entrevistas, sets musicales, sermones, conferencias, contenido detrás de cámaras, highlights de gaming, canales FAST, cualquier cosa que no sea una subasta o un torneo de esports. Para latencias por debajo de cinco segundos necesitas LL-HLS, WebRTC o DASH-LL, y las cuentas cambian.
Sigues necesitando uptime, escalado a la transmisión. Un Mac en tu escritorio está bien para un evento puntual: un SSD, un UPS, conexión cableada y vas bien para la tarde. Para una transmisión de larga duración o siempre activa quieres un Mac mini en un sitio fresco, un UPS, conexión cableada e idealmente un segundo Mac al que puedas hacer failover. La función de grabación local de la app te da un archivo de respaldo en cualquier caso. Nada de esto es más difícil que correr un servidor de streaming, y la mayor parte es más amigable.
La prueba de cinco minutos
La forma más rápida de averiguar si esto te funciona es publicar un stream de prueba a un endpoint público e inspeccionar el resultado. La app trae un tipo de destino “HTTP PUT Server” que no requiere autenticación ni configuración de tu lado:
- Abre la app, ve a Destinations, toca +.
- Elige HTTP PUT Server.
- Nómbralo “Test”, URL de subida
https://ams.ireplay.tv/hls/test/, URL de reproducción la misma. - Deja la autenticación en blanco.
- Test Connection. El servidor devuelve HTTP 201.
- Guarda.
- Profiles, crea un perfil, elige el destino de prueba, los valores por defecto están bien.
- Live, elige el perfil, Go Live. Hablale a tu cámara durante treinta segundos, Stop.
- La pantalla de resumen muestra la URL de reproducción. Ábrela en
Safari, en
ffprobe, en cualquier reproductor HLS.
Si reproduce, tu Mac acaba de actuar como codificador, transcodificador, empaquetador y publicador. De extremo a extremo, sin servidor de streaming en el camino. Los bytes que estás viendo viajaron directamente del codificador H.264 de tu chip Apple a un bucket público y de ahí a tu reproductor. Toda la pipeline vivió dentro de una sola app.
Ese mismo tipo de destino apunta a cualquier endpoint HTTPS PUT. Reemplaza la URL con la de tu propio bucket y ya estás autoalojando un stream sobre tu propia infraestructura.
Stream puntual, o un canal 24/7 que lo envuelve
Una sola transmisión en vivo es un producto completo por sí sola. Pulsa Go Live durante el evento, Stop cuando termine, deja la grabación en tu dominio como repetición. Ese es un uso perfectamente válido de la app y es lo que la mayoría de los usuarios harán la mayor parte del tiempo.
Lo que pasa cuando no estás en vivo es la pregunta que separa un evento de una emisora. Si un espectador aterriza en la página de tu canal un martes por la tarde cuando no se está emitiendo nada, ve una pantalla de “stream offline” y se va. La mayoría de los emisores independientes pierden ese tráfico sin darse cuenta.
La app complementaria, My TV Channel, llena ese hueco. Es una herramienta de playout 24/7: le das tu librería de video existente, y construye una programación lineal continua (VOD2Live, a veces llamada FAST) que corre las veinticuatro horas. Los espectadores que sintonizan a cualquier hora del día siempre caen en algo, incluso cuando no hay un evento en vivo en marcha. La misma cuenta de My TV Channel que usas para playout se conecta directamente con la app My Live TV Channel, así que cuando pulsas Go Live, tu señal en vivo se inserta en la programación que está corriendo. Los espectadores sintonizados al VOD2Live ven cómo tu transmisión en vivo toma el control. Cuando paras, la programación se reanuda en el punto correspondiente.
Puedes adoptarlo en cualquier orden. Empieza con eventos en vivo puntuales y agrega presencia 24/7 más tarde, cuando la audiencia te lo pida. O empieza con una programación 24/7 y usa la app de en vivo para meter noticias, momentos de última hora, sesiones Q&A o programas en vivo programados encima.
La herramienta de en vivo, la herramienta de playout y la herramienta de publicación son tres apps que comparten un solo destino de almacenamiento. No hay servidor de streaming en ninguna parte de esta arquitectura, solo el almacenamiento que elegiste, el Mac en tu escritorio y los reproductores en las manos de tus espectadores.
Veredicto honesto
Si estás transmitiendo un programa pequeño con tres espectadores y no tienes planes de crecer, abre una cuenta gratuita de YouTube y pon el embed en tu sitio. No eres la audiencia para esto.
Si estás operando un stream de pago, una transmisión solo para miembros, un servicio dominical para tu congregación, un canal FAST de nicho, un evento corporativo en vivo, una retransmisión interna (town hall, formación) a tu servidor web on-prem, una liga deportiva, una boda transmitida para familia lejana, un canal lineal propiedad de un creador, o cualquier cosa donde los términos de plataforma y las facturas por GB sean costos reales, las cuentas se ponen interesantes rápido. Un Mac mini, un bucket de destino o incluso un servidor web simple, y una suscripción de $0.99/semana reemplazan una pila de facturas en la nube que, sumadas, solían arrancar en tres cifras al mes y subir desde ahí. El diagrama de arquitectura cabe en un post-it. El número de proveedores que pueden tirar tu stream con una actualización del TOS pasa de “varios” a “cero”.
El servidor de streaming en el medio siempre fue opcional. El hardware en cada Mac de cada escritorio lleva años esperando en silencio para hacer ese trabajo. My Live TV Channel es la pieza de software que finalmente se lo permite.