Submitted 2 years ago by Manuel Cortez
Viewed 833 times.
Rated with 2.9 stars.
Muchos de nuestros usuarios de planes de radio nos han preguntado en diversas ocasiones sobre la razón de por qué sus transmisiones en vivo no pueden ser completamente en tiempo real. Existe una variedad de razones importantes, que causan que desde el punto de vista técnico, una transmisión 100% en tiempo real sea imposible, pero aquí se explicará, a grandes rasgos, la existencia del buffering y cómo es que esta técnica ayuda a que las transmisiones gocen de mayor estabilidad.
Durante la transmisión de audio, especialmente la que se realiza por internet, existe una pequeña cantidad de datos que tanto los servidores como el software cliente (es decir, los reproductores de audio) almacenan a fin de tener su propio banco de datos de reserva, en caso que las comunicaciones sean interrumpidas posteriormente. Esta reserva previene varias situaciones, entre ellas, que la reproducción de los oyentes se corte si por un segundo la conexión a internet no es lo suficientemente estable como para transmitir los datos necesarios, que la transmisión de un locutor no se interrumpa si la conexión del mismo no es suficientemente estable, lo que ayuda a que el oyente no perciva la radio como algo intermitente.
Por supuesto, la implementación de los "buffers" de datos, que es el nombre de las estructuras que almacenan esta clase de información de reserva para que la radio sea estable, tiene un precio: Y este es que la transmisión se verá retrasada un cierto tiempo, que, dependiendo de las diferentes aplicaciones involucradas, puede ser de unos 6 segundos como mínimo, hasta aproximadamente 10 o 15. Por lo general se cree que un buffer más grande proporciona una emisión más estable, y permite que la conexión de un locutor se pueda llegar a interrumpir sin que el oyente lo note (ya que al hacerlo, el software de liquidsoap le enviará a Icecast los datos que hay ya en el buffer). Un buffer reducido o inexistente, por otro lado, causaría que a la menor interrupción la transmisión sea interrumpida por el software de AutoDJ, o que la reproducción se detenga para un oyente.
La respuesta simple es que no del todo. El buffering, o el retraso que ocurre en una transmisión por internet desde que el locutor emite hasta que el oyente recibe los datos, depende de 3 componentes esencialmente. Estos son:
Como se puede deducir tras leer los componentes involucrados que causan el retraso en una emisión, podemos cambiar el primero, eliminando al mínimo el buffer de Liquidsoap, aunque esto pueda causar que la emisión sea algo más inestable; pero nada se puede hacer con respecto al segundo componente (Icecast, y probablemente pueda decirse lo mismo de cualquier otro servidor de audio utilizado para radios por internet, no se diseñó para transmitir audio en tiempo real a baja latencia) ni mucho menos el tercero.
En conclusión, reducir el Buffer de Liquidsoap al Mínimo podría bajar hasta en 5 segundos el retraso experimentado en cualquier radio, aunque las transmisiones serán interrumpidas probablemente con mayor frecuencia si la latencia entre la conexión del locutor y el servidor aumentara por cualquier motivo; y de todos modos no podría experimentarse una transmisión completamente en tiempo real y a baja latencia debido a la naturaleza de la transmisión de datos por internet y el diseño de las piezas de software involucradas en la transmisión de radio.
Finalmente, tras leer este artículo breve, si deseas que desde MKServers te ayudemos a eliminar o reducir el buffer de Liquidsoap para ayudarte a ganar esos segundos extra, por favor ponte en contacto con tu agente de servicio y solicítale el cambio de configuración.