Las empresas de hosting brindamos servicios variados en función de la necesidad de cada cliente, por ejemplo si se trata de un sitio web sencillo y con pocas visitas bastará con un plan compartido básico, pero si se trata por ejemplo de una web que realiza transmisiones de radio o de videos a muchas personas en simultáneo se va a requerir otra configuración.
Y justamente en esta ocasión vamos a ese tema: el servidor de streaming, veremos qué son, para qué sirvn, los tipos de servidores de streaming que existen, y analizaremos cómo se implementan, así como precios de planes comunes.
Contenido
¿Qué es el streaming?
Para empezar es importante definir qué es el streaming exactamente. El streaming es la transmisión de video o de audio en tiempo real, es decir, es la forma de ver o escuchar algún tipo de contenido multimedia (muchas veces en vivo) y sin la necesidad de descargar archivos de audio o de video a nuestro dispositivo o computadora.
Normalmente cuando queremos ver algún video o audio podemos mirarlo de forma online a través de un sitio web o descargarlo en nuestro equipo para verlo más tarde si la opción está disponible. En el streaming el contenido es siempre visualizado o escuchado de forma online y además en vivo, porque también es posible ver un video online pero que el mismo no esté en vivo por supuesto.
Tipos de Servidor de Streaming
De seguro en este punto ya has notado que hablamos de streaming de video y de streaming de audio, y es que justamente esos son los dos tipos de streaming existente. El streaming es obviamente la transmisión de un video en tiempo real, es decir, un video que la gente puede ver en vivo desde su dispositivo.
Con el audio sucede lo mismo: el streaming de audio es la transmisión de audio en vivo, de forma tal que la gente pueda escucharlo en tiempo real.
Con esto en mente podemos decir entonces que el hosting para streaming se divide en dos: por un lado están los servidores de streaming de video y por el otro están los servidores de streaming de audio. El streaming de audio con frecuencia es llamado también streaming de radio o radio por streaming, ya que en la gran mayoría de los casos se usa para hacer radiodifusión por Internet, aunque no necesariamente se tiene que transmitir un programa de radio como tal.
A la hora de transmitir streaming de video es importante tener muy claro la calidad del contenido que se va a transmitir, también debemos conocer el público aproximado que se espera y además es importante saber cuánto va a durar el evento. Con estos tres datos ya podemos hacernos una idea básica de cuántos servidores se podría necesitar para que el streaming sea exitoso.
En algunos casos puede que se necesite un solo servidor y en otro donde haya mucho público se necesitará una cantidad mayor de servidores actuando como balanceadores para atender todo el tráfico en tiempo real. En Infranetworking hemos llegado a balancear hasta 30GBit de tráfico en tiempo real de servidores de streaming de vídeo, con excelentes resultados. Claro está, para ello se necesita contar con la tecnología adecuada.
Para el streaming de video es extremadamente importante contar con buena conexión en el servidor (se recomienda usar línea de al menos 1Gbps), así como abundante transferencia disponible y que el hosting use discos SSD en el sistema, además claro de procesadores de calidad y una buena cantidad de RAM. Todo esto ayudará a que el streaming vaya lo más fluido posible. Si se espera una gran concurrencia de público es buena idea montar varios servidores en paralelo para hacer la transmisión.
El concepto del streaming de audio es bastante similar al de video, solo que claro cambia el tipo de contenido que transmitimos. Al transmitirse solo audio, las necesidades de hardware son mucho menores, de hecho es raro ver emisoras de radio en vivo que requieran de más de un servidor, aunque como siempre esto dependerá en gran parte del público que haya y de la calidad de la transmisión.
Cuanto más alta sea la calidad de la transmisión de radio en vivo mejor hardware necesitaremos, y lo mismo cuanto más sea el público que tengamos. El streaming de radio es mucho menos demandante que el de video en términos de hardware, pero no por eso hay que subestimarlo: una transmisión de alta calidad a una gran cantidad de público puede llegar a demandar un buen hardware y red.
Es muy importante aclarar que no todo el streaming es en vivo. Hoy en día de hecho existen muchas plataformas de streaming de series y películas como Netflix, HBO Go y Disney+, por mencionar algunas, que funcionan con un método de streaming no en vivo, es decir, se trata de contenido que se encuentra almacenado en los servidores de estas plataformas y que es servido a los usuarios a medida a que estos lo van solicitando.
Con el streaming de audio sucede algo parecido: el streaming de audio no necesariamente es streaming de radio o de música en vivo, ya que se da el caso por ejemplo de servicios de streaming de música como Spotify, iTunes, etc., donde podemos escuchar canciones que se encuentran almacenadas en los servidores de estas plataformas, tratándose de una transmisión que no es en vivo.
Es importante aclarar que el streaming de video o de audio no equivale a la descarga de video o de audio. Cuando hacemos una descarga estamos guardando una copia de un video o de un audio en la memoria de nuestro dispositivo o en el disco duro de la computadora, pero en el streaming no se guarda tal contenido, sino que los datos son lentamente enviados al navegador o aplicación a medida que va siendo necesario.
Como mucho este contenido puede guardarse en alguna memoria caché o temporal del sistema, pero no de forma permanente en la memoria principal.
¿Cómo funciona el streaming de datos en Internet?
Al igual que cualquier otro dato o información que se transmite en Internet, el streaming funciona mediante la división del audio o del video en pequeños paquetes de datos. Cada paquete de datos contiene un pequeño conjunto de datos del video u audio que se transmite, y estos paquetes son tomados por el navegador o por la aplicación e interpretados como audio o video, mostrando el resultado por pantalla en la forma de un video o de un audio fluido.
El streaming de video o de audio por Internet requiere de mejores protocolos de transferencia que por ejemplo el texto o las imágenes, que generalmente usan TCP/IP, usándose por lo general UDP/IP, con lo cual se da mayor prioridad a la velocidad de la transmisión que a la fiabilidad de la misma.
Si bien el protocolo más usado en Internet en la transmisión de datos es el TCP, lo cierto es que para el streaming de audio y video es menos útil, ya que se trata de un protocolo más complejo, lo cual lleva a la adopción del UDP en su lugar.
Las transmisiones de datos vía UDP son menos fiables pero más rápidas, y presentan un mayor índice de pérdida de paquetes de datos, sin embargo esto prácticamente no influye para el streaming, ya que dada la gran cantidad de paquetes transmitidos es una pérdida casi imperceptible para el ojo o el oído humano cuando los datos son convertidos a video o audio en nuestro dispositivo.
El streaming de contenido multimedia usa además una técnica conocida como buffering. El buffering básicamente consiste en cargar por adelantado parte del video o del audio que se está transmitiendo, lo cual permite que la transmisión vaya más fluida. Si estamos hablando de transmisiones 100% en vivo entonces el buffering puede alcanzar unos pocos segundos solamente, sin embargo si son transmisiones no en vivo entonces el buffering puede llegar a ser de varios minutos incluso.
Que el buffering sea efectivo o no dependerá en parte de nuestra red y de la saturación de la misma, así como la carga del servidor que hace la transmisión. Si el server no está sobrecargado y nuestra red no tiene mucha latencia ni está congestionada podremos obtener un excelente buffering. Por el contrario, si el server tiene carga o hay algún inconveniente con nuestra red el buffering empeorará.
¿Qué eventos o contenidos puedo transmitir?
Mediante streaming se puede transmitir prácticamente cualquier tipo de evento que queramos, solo basta una cámara, una conexión a Internet estable y un servidor (no nos referimos aquí a un servidor web, sino a un servidor como tal) para poder comenzar, aunque claro, transmisiones de más calidad y a mayor cantidad de público pueden ser más complejas.
Entonces, ¿qué eventos se pueden transmitir en streaming? Pues lo que queramos en realidad: puede ser desde simples charlas en vivo hasta gameplays de videojuegos. También existe el streaming de contenido para adultos, o podemos transmitir simples programas de radio con canciones precargadas y también podemos transmitir radio en vivo. Se pueden transmitir clases, eventos no presenciales y prácticamente cualquier cosa que queramos, lo cierto es que en este aspecto la imaginación es el límite.
Algunas transmisiones pueden requerir configuraciones más complejas que otras, todo va a depender en realidad de lo que queramos lograr. Por ejemplo si queremos simplemente transmitir una clase en vivo vía Zoom entonces bastará con una computadora, una webcam y conexión a Internet, o más simple aún: nuestro celular o laptop con cámara integrada + una conexión a Internet, es todo lo necesario.
Claro está que cuanto mejor queremos que sea la transmisión y cuanto más público vaya a abarcar más grandes serán los requerimientos, pues no es lo mismo transmitir una clase para 20 personas que hacer una transmisión en alta calidad de una conferencia para miles de personas alrededor del mundo, lo cual va a requerir un setup mucho más complejo, que puede incluir tarjetas profesionales, mejores cámaras, mejor conexión a Internet, múltiples servidores, etc.
Requerimientos para montar un servidor de streaming
Los requerimientos básicos para transmitir a través de un servidor de streaming son los siguientes, aunque reiteramos, esto varía en función de lo que queramos transmitir, de la calidad y del público.
- Para video: un dispositivo conectado a Internet, que integre una cámara o que esté conectado a una cámara externa. Opcionalmente podemos requerir un servidor, dependiendo como siempre de lo que deseamos transmitir y de su calidad.
- Para audio: un dispositivo conectado a Internet. Opcionalmente un micrófono si queremos transmitir nuestra voz (por ejemplo para radio). Nuevamente se puede requerir un servidor dependiendo de lo que se desee transmitir.
Requisitos de streaming de vídeo
Para transmisiones de video que no hacen uso de servicios de terceros como YouTube, Twitch o Zoom (por mencionar algunos), se va a requerir un servidor, el cual básicamente se encargará de procesador el video transmitido y despacharlo al público. En el caso del streaming de video, ya sea en vivo o no, se recomiendan servidores dedicados con buenas líneas y buen hardware, además de una plataforma adecuada. El software que use el servidor puede variar, aunque algunos ejemplos populares incluyen FFmpeg y GStreamer, entre otros.
Requisitos de streaming de audio
Si estamos hablando de requerimientos para transmisiones de audio o de radio entonces el panorama cambia: no vamos a requerir tanto hardware. De hecho si contamos con el software adecuado es posible hacer streaming de radio incluso en planes compartidos, aunque claro, la capacidad de oyentes y la calidad puede estar bastante limitada, por lo que se recomienda hacerlo al menos en un Cloud VPS o un VPS si esperamos un mayor público. Sobre el software para servidores de radio streaming, es muy usado el popular Wowza, aunque existen otros como WHMSonic, LIVE+ o Dacast, por mencionar algún ejemplo.
Wowza es extremadamente usado en la transmisión de radio por Internet, y tiene requerimientos bastante básicos como un procesador quad-core y 4GB de RAM, aunque a mayor cantidad de público y calidad de transmisión obviamente vamos a necesitar mejor harware.
FFmpeg por su lado es muy usado para procesamento, conversión y streaming de vídeos en lo que refiere vídeo, y sus requisitos básicos son similares: 4GB de RAM y un procesador quad-core. Por supuesto estamos hablando para entornos en producción, pues si es para pruebas lo podemos echar a andar incluso con un solo núcleo y 2GB de RAM o menos. Como siempre, cuanto mayor el público y mejor la calidad más hardware se necesitará.
Precios de mercado para realizar un streaming
Los costos de tener un servidor de streaming (más que servidor, servicio en si) varían mucho. Es posible encontrar servicios de streaming de radio a partir de los $10 dólares al mes y de video por poco más de eso, sin embargo estos servicios no tienden a ser muy buenos, limitando mucho la capacidad del público y la calidad de la transmisión. Como ya decíamos, lo recomendado es un Cloud VPS o similar para audio y un dedicado para streaming.
En Infranetworking disponemos de servidores Cloud VPS para streaming de audio desde $47,00 dólares al mes, mientras que en lo que refiere a video te recomendados un dedicado sencillo para comenzar, por ejemplo nuestro Intel X3440 que está en oferta a $99,00 dólares por mes.
Igualmente volvemos a recalcar que a mayor cantidad de público o a mejor calidad de streaming más hardware se necesita, así que los costos van a variar también en función de los requerimientos de la transmisión.
Conclusión
En esta oportunidad hemos aprendido bastante sobre el servidor de streaming por medio de Internet. Sabemos que se puede realizar streaming de audio o streaming de video, y los requerimientos para iniciar con cualquiera de ellos son muy básicos, escalando a medida que mejora la calidad de transmisión y llegamos a mayor público. Los servidores de streaming trabajan usando principalmente el protocolo UDP/IP para hacer llegar al espectador u oyente los paquetes de datos que conforman el contenido que se transmite.
Con el servidor de streaming adecuado podemos transmitir cualquier cosa que queramos: un programa de radio, una charla en vivo, una conferencia, un gameplay de nuestro videojuego preferido, etc. La imaginación es el límite en este sentido siempre y cuando cumplamos con los requisitos básicos del streaming.