Mi radio presenta un retraso al emitir desde la cuenta de un locutor. ¿Por qué?

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.

¿Por qué mi emisora presenta retraso al escuchar mi transmisión en vivo?

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.

¿Se puede desactivar?

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:

  1. Liquidsoap: En MkServers, usamos Liquidsoap para administrar el autoDj de las emisoras. Así mismo, mediante Liquidsoap los locutores se conectan a emitir. Liquidsoap lleva un buffer por defecto de 5 segundos. Esto significa que tras iniciar la emisión, Liquidsoap guarda 5 segundos para sí de los datos que el locutor envía, y tras haber pasado este tiempo, es cuando comienza a enviar la información al servidor icecast, para que los oyentes los puedan recibir. Todo esto quiere decir que ya se añaden 5 segundos de retraso a una transmisión de cualquier locutor.
  2. Icecast: Icecast, que es el servidor a donde los oyentes se conectan para escuchar tu radio, también implementa ligeramente un buffer, aunque este está ya reducido al mínimo, lo que causaría poco retraso a la emisión. La cantidad de retraso que introduce icecast debe ser tan mínima (en el orden de los milisegundos) que normalmente no vale la pena contarla en una estimación de retraso para una emisora virtual.
  3. El oyente: Existe retraso que se genera debido a las condiciones del oyente por sí mismo: Esto puede ser desde el reproductor utilizado para escuchar la transmisión (existen reproductores que también llevan un buffer interno al recibir datos desde internet), la calidad de la señal de internet (si existe mucha distancia, por ejemplo, entre un router y un dispositivo que escucha una radio mediante Wifi), la latencia entre nuestros servidores y la conexión del oyente, y un sin fin de otras posibles condiciones que modificarían el retraso hasta en un par de segundos.

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.

loading...

No comments, yet

Sign up to comment

Search