La transmisión en directo es la entrega de datos de vídeo o audio a una audiencia a través de Internet a la vez que se crean los datos.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué es la transmisión?
Codificación de la transmisión en vivo
Transmisión en vivo HTTP
¿Qué es MPEG-DASH?
MOV frente a MP4
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
La transmisión es el método de transmisión de datos que se utiliza cuando alguien ve un vídeo en Internet. Es una forma de entregar un archivo de vídeo poco a poco, normalmente desde un lugar de almacenamiento en remoto. Al transmitir unos pocos segundos del archivo a la vez a través de Internet, los dispositivos clientes no tienen que descargar todo el vídeo antes de empezar a reproducirlo.
La transmisión en directo es cuando el vídeo transmitido se envía por Internet en tiempo real, sin ser grabado y almacenado con anterioridad. En la actualidad, las emisiones de televisión, las transmisiones de videojuegos y los vídeos de las redes sociales pueden ser transmitidos en directo.
Pensemos que la diferencia entre la transmisión regular y la transmisión en directo es como la diferencia entre un actor que recita un monólogo memorizado y otro que improvisa el guion. En el primero, el contenido se crea de antemano, se almacena y luego se transmite al público. En el segundo, el público recibe el contenido en el mismo momento en que el actor lo crea, al igual que en la transmisión en directo.
El término transmisión en directo suele hacer referencia a las transmisiones en directo: conexiones de uno a muchos que llegan a varios usuarios a la vez. Las tecnologías de videoconferencia, como Skype, FaceTime y Google Hangouts Meet, funcionan con protocolos de comunicación en tiempo real (RTC) en lugar de con los protocolos utilizados por las transmisiones en directo de uno a muchos.
Estos son los principales pasos que tienen lugar en segundo plano en una transmisión en directo:
La transmisión en directo empieza con datos de vídeo sin procesar: la información visual que captura una cámara. Dentro del dispositivo informático al que está conectada la cámara, esta información visual se representa como datos digitales, es decir, unos y ceros en el nivel más profundo.
A continuación, se comprimen y se codifican los datos de vídeo segmentados. Los datos se comprimen al eliminar la información visual redundante. Por ejemplo, si el primer fotograma del vídeo muestra a una persona hablando sobre un fondo gris, no es necesario que el fondo gris se represente en los fotogramas posteriores con el mismo fondo.
Pensemos que la compresión de vídeo es como añadir un mueble nuevo a un salón. No hace falta comprar muebles completamente nuevos cada vez que se añade una nueva silla o mesa auxiliar. En cambio, se puede mantener la disposición de la habitación de manera similar y solo cambiar una pieza cada vez, haciendo cambios más importantes solo cuando es necesario. De la misma manera, no es necesario renderizar todos los fotogramas de una transmisión de vídeo, sino solo las partes que cambian de un fotograma a otro, como el movimiento de la boca de una persona.
"Codificación" hace referencia al proceso de convertir los datos en un nuevo formato. Los datos de las transmisiones de vídeo en directo se codifican en un formato digital interpretable reconocido por una gran variedad de dispositivos. Los estándares de codificación de vídeo más comunes son:
El vídeo incluye mucha información digital, por ello, tarda más en descargar un archivo de vídeo que en descargar un PDF corto o una imagen. Como no sería práctico enviar todos los datos de vídeo por Internet a la vez, la transmisión de vídeo se divide en segmentos más pequeños de unos pocos segundos de duración.
Una vez que se ha segmentado, comprimido y codificado la transmisión en directo (que solo tarda unos segundos), es necesario ponerla a disposición de las docenas o millones de espectadores que quieran verla. Para mantener una alta calidad con una latencia mínima mientras se sirve la transmisión a múltiples espectadores en diferentes lugares, debe distribuirlo una CDN.
Una CDN es una red distribuida de servidores que almacena en caché y sirve contenidos en nombre de un servidor de origen. El uso de una CDN provoca un rendimiento más rápido, debido a que las solicitudes de los usuarios ya no tienen que viajar hasta el servidor de origen, sino que pueden ser gestionadas por un servidor de CDN cercano. Gestionar las solicitudes y entregar el contenido de esta manera también reduce la carga de trabajo del servidor de origen. Por último, las CDN permiten servir con eficacia los contenidos a usuarios de todo el mundo, ya que sus servidores están ubicados por todo el mundo, en lugar de estar agrupados en una única zona geográfica.
Una CDN también almacenará en caché, es decir, guardará de forma temporal, cada segmento de la transmisión en directo, por lo que la mayoría de los espectadores recibirán la transmisión en directo desde la caché de la CDN y no desde el servidor de origen. De hecho, esto hace que la transmisión en directo se acerque más al tiempo real, aunque los datos almacenados en la caché tengan unos segundos de retraso, porque reduce el tiempo de ida y vuelta (RTT) hacia y desde el servidor de origen.
La CDN envía la transmisión en directo a todos los usuarios que están viendo la transmisión. El dispositivo de cada usuario recibe, descodifica y descomprime los datos de vídeo segmentados. Finalmente, un reproductor multimedia en el dispositivo del usuario, ya sea una aplicación específica o un reproductor de vídeo en el navegador, interpreta los datos como información visual y se reproduce el vídeo.
Supongamos que Alice inicia una transmisión en directo en su teléfono inteligente y Bob, que vive en la otra punta del país, sintoniza la transmisión en directo en su teléfono inteligente, al igual que hacen docenas de amigos de Alice. Alice comienza la transmisión en directo girando la cámara del teléfono inteligente hacia sí misma y diciendo: "¡Hola, mundo! " ¿Qué tiene que suceder para que esa sección de vídeo de "Hola, mundo" llegue a Bob en la otra punta del país y al resto de personas que están viendo la transmisión?
Primero, el teléfono inteligente de Alice codificará y comprimirá ese pequeño segmento de vídeo. Si Alice está grabando la transmisión en directo en su cocina, la pared de su cocina se grabará como primer fotograma del vídeo, y los fotogramas siguientes lo omitirán, ya que el fondo no cambia.
Ahora, la aplicación que utiliza Alice enviará la versión codificada y comprimida de su saludo "Hola, mundo" a la CDN de la aplicación. Por suerte para Bob, uno de los servidores de la CDN está a pocos kilómetros de su casa, así que la solicitud de su teléfono inteligente para el primer segmento de la transmisión en directo se responderá casi de forma inmediata. Otros espectadores de la transmisión en directo sufrirán más o menos latencia que Bob, en función de su ubicación geográfica.
El teléfono de Bob descodifica el segmento de vídeo y reconstruye los datos comprimidos, de modo que la pared de la cocina de Alice aparecerá en cada fotograma. Y finalmente, apenas unos segundos después de que Alice haya dicho "Hola, mundo" en su cocina, en la otra punta del país, su cara aparecerá en el teléfono inteligente de Bob, y este podrá verla y oirla.
Ancho de banda: por cualquier punto de una red solo puede pasar una cantidad determinada de datos a la vez; esta medida se conoce como "ancho de banda." Si una transmisión de datos alcanza un punto de la red en el que la cantidad de datos supera la capacidad, esto se conoce como "cuello de botella", porque se obstruye y se ralentiza la entrega de datos. Un cuello de botella es similar a cuando se produce un atasco porque demasiados coches intentan utilizar una carretera de un solo carril.
Si todos los espectadores de una transmisión reciben los datos de la transmisión desde su punto de origen, entonces el servidor de origen y su infraestructura de red circundante se acaban convirtiendo en un cuello de botella, y la transmisión se ve ralentizada. Pero si la carga principal de la entrega de la transmisión se traslada a una CDN, entonces se elimina el cuello de botella.
Entrega global de contenido: debido a que las CDN están distribuidas por todo el mundo, pueden entregar contenidos a una audiencia global. Un servidor de origen en Nueva York no puede servir de forma eficaz el contenido a espectadores en Milán, y esto ocurre sobre todo con contenidos pesados como son los vídeos. Sin embargo, una CDN puede reenviar y servir contenidos desde cualquier punto de su red, de modo que una persona en Milán, que esté viendo una transmisión en directo de Nueva York, puede recibir la transmisión desde un servidor en Milán, en lugar de tener que esperar a que se cargue desde Nueva York.
Reducción de latencia y RTT: la entrega de contenidos a nivel global con una CDN reduce la latencia para los espectadores de transmisiones en vivo al reducir el RTT (tiempo de ida y vuelta). El viaje de ida y vuelta de solicitud-respuesta es más corto tanto en distancia como en tiempo, ya que la solicitud de un espectador de una transmisión en vivo ya no tiene que dirigirse hasta la fuente original de la transmisión, y los datos de la transmisión tampoco tienen que viajar desde el origen. Esto reduce los retrasos y ayuda a que la transmisión en directo se mantenga lo más cerca posible del "vivo y directo".
Carga de trabajo: Responder a las solicitudes de datos de los usuarios le supone al servidor un coste de potencia de computación. Responder a muchas peticiones de datos de vídeo de los usuarios puede sobrecargar a un único servidor. Una CDN utiliza decenas o centenares de servidores, que pueden descargar al servidor de origen de gran parte de la carga de trabajo y mantenerlo así en funcionamiento.
Almacenamiento en caché: Una CDN almacena en caché cada segmento de vídeo de una transmisión en directo. Entonces, la CDN puede entregar los segmentos desde la caché en lugar de tener que sacar los datos desde el servidor de origen.
Servir una transmisión en directo desde una caché parece una contradicción: si la transmisión es en directo, ¿cómo puede ser más rápido guardarla y entregarla unos segundos después? Si bien es cierto que una transmisión en directo almacenada en caché tendrá retraso con respecto al tiempo real, sigue siendo más rápido que ir hasta el servidor de origen. El viaje de ida y vuelta tardaría tanto que el flujo se retrasaría todavía más. Con el almacenamiento en caché de la CDN, los usuarios apena experimentan retraso.
La CDN de Cloudflare usa una técnica conocida como aceleración de la transmisión concurrente para acelerar la entrega de la transmisión en directo. Algunas CDN no pueden servir un segmento de vídeo a más de un usuario hasta que el segmento se haya guardado del todo en la caché. Sin embargo, la CDN de Cloudflare puede servir estos segmentos directamente a varios espectadores a la vez mientras se están cargando, lo que reduce en varios segundos el tiempo de espera de los usuarios. Más información sobre la aceleración de la transmisión concurrente.