Tag - Tutoriales sobre radio en línea y streaming

Reproductor para radio en línea con el título de la canción
Desde que publicamos el tutorial sobre cómo instalar una radio en línea con un reproductor propio en HTML5, recibimos varias solicitudes sobre cómo incluir en el reproductor el título de la canción que está sonando en la radio. ¡Aquí tienes una posible solución para implementar aún sin saber mucho de programación web! 1. PASOS PREVIOS Y REQUISITOS Es importante aclarar que, para que este título aparezca, cada tema debe tener la metadata correspondiente (metatags ID3). Son esas meta-etiquetas internas que tiene el archivo de audio (que no se escuchan) que indican al reproductor el título de la canción, artista que la interpreta, género, etc. Los editores de audio como Audacity, al guardar el archivo, ofrecen la posibilidad de completarlas. Para editarlas puedes usar KID3, una aplicación -que viene instalada por defecto en Etertics GNU/Linux– que nos permite hacerlo fácilmente y en bloque para los archivos generales, tal como explica Pablo López en este titurial. Hay otras alternativas como EasyTag o MusicBrainz Picard. EL REPRODUCTOR SIRVE EN ESTOS CASOS: * Un streaming que tenga instalado en el servidor Icecast, no para los que usan Shoutcast. * Un radio en línea que tenga un servidor propio, no para servicios gratuitos como Zeno, Listen2MyRadio o similares. * Es necesario que el servidor funcione bajo protocolo seguro https, suele fallar en los que no tienen la “s” (http). * Debe tener accesibles los datos a través de un archivo json (la mayoría tiene activada esta opción, de lo contrario habla con el adminsitrador). * El script está programado en javascript. Debes asegurarte de que tu sitio web permite este tipo de lenguaje. * Tienes que contar con persmisos de administración de tu página web y algunos conocimientos sobre HTML como, por ejemplo, saber colocar bloques HTML en tu CMS (WordPress, Drupal, o el que uses). 2. COMPROBACIONES 1.1. UBICA LA DIRECCIÓN DEL STREAMING DE TU RADIO La dirección del streaming es la URL de transmisión. Si ya tienes un reproductor, es la dirección https configurada para el streaming. Esta dirección varía mucho en función de cómo esté configurado el servidor de streaming. Para confirmar que es correcta pega esa URL en un navegador y comprueba que se escucha la transmisión. Por ejemplo: https://radios.liberaturadio.org/luisbeltran O este otro: https://giss.tv:667/LaGaboneta.mp3 (La diferencia entre un reproductor y otro es el navegador. El de arriba es el nativo de Chrome y este de aquí abajo es el de Firefox). 1.2. VERIFICA QUE LA PÁGINA DE DATOS DEL SERVIDOR ESTÁ ACTIVA Se conoce como server_status y, en principio, debería funcionar en todos los servidores Icecast. Sólo necesitas sustituir en la dirección anterior el punto de montaje de tu radio por status-json.xsl y pegarlo en el navegador. En nuestro primer ejemplo sería: https://radios.liberaturadio.org/status-json.xsl Y en el segundo: https://giss.tv:667/status-json.xsl Esto mostrará todos los puntos de montaje disponibles en esa instancia, es decir, todas las radios en línea (streamings) existentes en el servidor. Si ves algo parecido a la imagen de aquí abajo significa que el archivo está disponible y puedes continuar (en Chrome se verá similar pero sin colores). 3. CÓDIGO Ahora sólo tienes que pegar el código javascrip de aquí abajo en tu página web para visualizar el reproductor. Si es WordPress utiliza un “bloque HTML”. En este ejemplo estamos colocando un reproductor sencillo. Si quieres algo más elaborado en el que cambiar colores o incluir el logo de la emisora, consulta este manual. Tu navegador no soporta el elemento de audio. Cargando información… Código a copiar. En la línea const streamUrl = 'https://radios.liberaturadio.org/luisbeltran'; tendrás que remplazar la URL https://radios.liberaturadio.org/luisbeltran con tu dirección de streaming. Recuerda no borrar las comillas ni el punto y coma. <!-- Este es el reproductor de audio genérico que toma la URL del streaming por javascript --> <audio id="audioPlayer" controls> <source id="audioSource" type="audio/mpeg"> Tu navegador no soporta el elemento de audio. </audio> <!-- Aquí se mostrará la canción que está sonando --> <div id="currentSong">Cargando información...</div> <script type="text/javascript"> // Coloca aquí la URL de tu streaming, comprueba si pegas esa URL en un navegador la transmisión se escucha. No borres las comillas o el punto y coma final. const streamUrl = 'https://radios.liberaturadio.org/luisbeltran'; async function fetchStreamInfo(streamUrl) { const url = new URL(streamUrl); // Extrae de la URL del streaming las disntitas partes const streamMount = url.pathname.split('/').pop(); // Obtener el punto de montaje const statusUrl = `${url.protocol}//${url.host}/status-json.xsl`; // Construye la URL del status-json try { const response = await fetch(statusUrl); if (!response.ok) throw new Error('Error en la red'); let data; // Comprueba que el JSON existe try { data = await response.json(); // Para servidores con múltiples streams } catch { const text = await response.text(); // Para servidores con un único stream data = JSON.parse(text); } // Verifica la estructura de datos let stream; if (data.icestats && Array.isArray(data.icestats.source)) { // Para múltiples streams busca el correcto identificando el punto de montaje en el campo "listenurl" stream = data.icestats.source.find(s => s.listenurl.includes(streamMount)); } else if (data.icestats.source) { // Para servidores con un único stream la estructura json es diferente stream = data.icestats.source; } else { throw new Error('Estructura de datos inesperada: ' + JSON.stringify(data)); } // Mostramos la información del stream const title = stream.title || 'Sin título'; // El texto previo al título de la canción se puede modificar o eliminar, por defecto "Sonando:" document.getElementById('currentSong').innerText = 'Sonando: ' + title; } catch (error) { console.error('Error al obtener la información del stream:', error); document.getElementById('currentSong').innerText = 'Error al cargar la información: ' + error.message; } } function setUpPlayer(streamUrl) { document.getElementById('audioSource').src = streamUrl; document.getElementById('audioPlayer').load(); fetchStreamInfo(streamUrl); // Llama a la función con la URL del stream } // Configuramos finalmente el reproductor setUpPlayer(streamUrl); </script> 4. OTROS TUTORIALES Quizás te pueden interesar estos artículos sobre radio en línea donde puedes aprender cómo instalar una radio en línea en 5 minutos o adaptar el reproductos con tu propia imagen. Imagen: Gaelle Marcel en Unsplash
Reproductor con estilo e imagen para una radio en línea
En la nueva pantalla pegamos el código del reproductor. Algunos proveedores de servicios te ofrecen sus propios reproductores. Si no lo tienes, de los que hemos probado (y han sido varios) los que mejor funcionan son los más sencillos HTML5. Además, funcionan en teléfonos celulares. Siempre y cuando el protocolo de tu streaming sea seguro sea seguro, es decir, comience con https:// [Recomendamos que una vez pegado el código sustituyas a mano todas las comillas (“)] En source colocas la URL de tu streaming (la misma que usas para enviar la señal al servidor) y el type de transmisión. Si es mp3 escribes type=”audio/mpeg” si es ogg será type=”audio/ogg”. Si quieres que la radio comience a escucharse al abrise la página web deberás indicarlo con la palabra autoplay. Si lo borras tendrán que pulsar play para comenzar a escuchar. <audio autoplay controls="controls"> <source src="https://radios.yanapak.org/radio_trama" type="audio/ogg" /> </audio> Si estás usando un servidor Shoutcast, tendrás que añadir un punto y coma (;) al final de la barra invertida de la URL, tal como se indica a continuación. Si tuviera “punto de montaje” como /stream o /live no hará falta el punto y coma. <audio autoplay controls="controls"> <source src="https://185.85.29.166:8000/;" type="audio/mpeg" /> </audio> Si tienes nociones de CSS o diseño puedes jugar mucho más con la etiqueta de video. Meter una imagen de fondo, un marco de color. Por ejemplo, con este código quedaría algo así: <style type="text/css"> #reproductor { position:absolute; top: 50px; left:0px; display:block; border: 1px solid #B40000; background-color: #F1F1F1; } </style> </br> Síguenos en las Redes Sociales: Twitter: <a href="https://twitter.com/RadiosLibres" target="_blank">@RadiosLibres</a> </br> <video id="reproductor" controls autoplay preload width="640" height="360" poster="http://radioslibres.net/wp-content/uploads/media/theme/images/RadiosLibres-Cabezal.png"> <source src="https://stream.codigosur.org:8000/kasandrxs.mp3" type="audio/mpeg"> </video> Así se vería el reproductor: Tendrías que cambiar en la etiqueta video la URL del lugar donde este tu fotos, sino te saldrá el logo de radios libres: poster="http://URL-de-tu-foto.png" Imagen: Sudershan Kshirsagar en Unsplash
Instala tu radio en línea en 5 minutos (¡y con software libre!)
Una guía rápida y resumida en 5 pasos para instalar una radio virtual para estar al aire en 5 minutos usando software libre. ¡Y todo con software libre (y gratuito)! > ATENCIÓN: Para quienes prefieran tomarse el proceso con más calma, pensando > con tranquilidad en los contenidos (algo que aconsejamos si quieren tener > cierto impacto) y conociendo todas las alternativas para la transmisión en > línea, les recomendamos este curso virtual, libre, abierto y gratuito. 1. EQUIPOS Para empezar con una radio online con una computadora es más que suficiente. Sobre todo si, principalmente, vas a transmitir música. Y para hablar puedes usar el micrófono integrado. Si aspiras a producir un programa de radio, es decir, que hablen un par de personas y mezclar los diálogos con canciones es recomendable invertir en una pequeña consola o, mucho mejor, una tarjeta externa de sonido USB. En ambos casos la inversión será de entre 100 y 150 $USD; aunque insistimos, no es obligatorio. En relación precio/calidad Behringer es una buena opción. Por ejemplo, la consola Q802USB o la interfaz UMC202HD. En una categoría superior, aunque dentro de estos mismos presupuestos, podemos encontrar PreSonus AudioBox o M-Audio Air 192. 2. SERVIDOR DE STREAMING El proceso técnico para transmitir radio en línea consiste en conectarte desde una computadora (o celular) a un servidor de streaming al que se le envía la señal de audio. Quienes quieran escucharnos se conectarán a ese servidor que les enviará el audio a través de un reproductor que coloques en tu página web o blog. Hay muchas plataformas comerciales que ofrecen el servicio de streaming gratuito. Son empresas que intentan captar clientes regalando planes freemium para luego intentar venderles el paquete premium. Sin embargo, son una buena alternativa para comenzar. PlataformaSoftwareCaracterísticasReproductorListen2MyRadioIcecast / Shoutcast5.000 oyentesUsa tu propio player / No https propiaMyRadioStreamShoutcast200 oyentes / 128 kbpsObliga a usar su playerCaster FMIcecast400 oyentes / 128 kbpsObliga a usar su player De estas tres, que son las más conocidas, recomendamos la última. Caster FM tiene un reproductor propio que insertas en tu web y funciona en todos los navegadores. Explicamos estos detalles en el punto número 5. También hay proyectos que no tienen fines comerciales y apoyan a organizaciones sociales y radios comunitarias. Puedes consultar más instituciones aliadas que ofrecen servicios web libres aquí. Si tu emprendimiento es personal o comercial, te recomendamos cualquiera de los servicios comerciales de la primera tabla pero no estos. Estas cuentas tienen un objetivo comunitario y social, y requieren de un gran esfuerzo voluntario económico y humano para que se mantengan, por lo que es mejor que se destinen a organizaciones que realmente los necesitan. Recuerda que detrás de estas plataformas no hay empresas, sino personas que dedican su tiempo libre para que funcionen por lo que si puedes colaborar, ¡genial! Recuerda que “libre” no es sinónimo de “gratis” o “sin costo”. Aquí tienes una comparativa más amplia sobre servicios de streaming. PlataformaSoftwareCaracterísticasReproductorYanapakIcecastProtocolo seguro httpsUsa tu propio playerGiss TVIcecastProtocolo seguro httpsUsa tu propio playerEsporaIcecastSin informaciónUsa tu propio player 3. SOFTWARE Una vez que te has registrado en cualquiera de estas plataformas recibirás los datos de acceso al servidor para iniciar la transmisión: una dirección IP y un puerto; una contraseña, si es Shoutcast (software privativo); y, además, un punto de montaje y un usuario si es Icecast (software libre). Para conectar con ese servidor de streaming y enviarle el audio necesitas un “transmisor”. En este caso, es un software que toma lo que suena en la tarjeta de sonido, lo codifica y lo envía al servidor. Recomendamos Butt, es libre, sencillo de usar, multiplataforma –tiene versiones para Windows, MacOs y GNU/Linux– y gratuito, aunque el desarrollador acepta donaciones. Otro programa recomendable es Mixxx, un reproductor tipo DJ con el que puedes enviar directamente el streaming sin necesidad de otro software. Si quieres automatizar la programación recomendamos G-Radio (sólo disponible para GNU/Linux) que también se conecta directamente con tu servidor de streaming.Si usas la distribución libre para radios comunitarias GNU/Linux EterTICs todos estos programas ya vienen preinstalados. Y para transmitir desde celulares Android Cool Mic. [Aquí tienes una tabla con más software con el que transmitir online]. Después de instalar cualquiera de estos programas deberás configurarlo con los datos que te ha enviado el proveedor de servicios. 4. CONFIGURAR LA TARJETA DE AUDIO Y EL SOFTWARE Este paso dependerá mucho de los equipos y el sistema operativo que estés usando. Pero al software de transmisión deberás indicarle que señal transmitir y para eso requieren realizar algunas configuraciones en la tarjeta de sonido. Si sólo tienes una computadora y quieres mezclar la música y la voz necesitarás configurar la tarjeta e indicarle a Butt que tome la señal del “Monitor de audio” (en Windows era “Mezcla estéreo”, quizás en las últimas versiones ha cambiado, tendrás que buscar en Internet cómo hacerlo ya que no trabajamos sistemas operativos privativos. También puedes probar con Voicemeeter, es gratis pero no libre). Para optimizar la configuración del sonido y sacarle el máximo rendimiento en GNU/Linux puedes usar Jack, un potente motor para gestionar el audio. Nuestros compañeros de la Red de Radios Comunitarias y Software Libre Pablo López y Luis Salazar te explican en estos tutoriales “Como montar una radio tradicional y online con o sin consola en EterTICs GNU/Linux” y “Configurar JACK y realizar Streaming con Butt en GnuEterTics”. Una vez que tenemos configurada la tarjeta de sonido, comenzamos a emitir. 5. UN REPRODUCTOR PARA QUE TE ESCUCHEN Para que la audiencia se conecte a tu radio siempre puedes ofrecerle la URL del streaming, compuesta por la IP:puerto/punto_de_montaje. Al abrirla en cualquier navegador escucharán automáticamente la radio. Pero siempre es más cómodo para la audiencia colocar un reproductor en la página web o blog de la radio, en el que dar play y escuchar. Es importante saber que muchas de estas plataformas gratuitas no permiten colocar reproductores propios, sino que obligan a los oyentes a escuchar en una página propia en la que publicitan sus servicios. Otros ofrecen un reproductor propio con un código “embed” para insertar en la web. Actualmente son una buena opción porque Chrome desde la versión 80 no permite insertar reproductores con streaming que no sea seguro (bajo protocolo https://). Para las cuentas que sí lo permiten, puedes colocar un sencillo reproductor HTML5 con el siguiente ejemplo (cambia con tu propia URL). Y en este tutorial explicamos cómo sumar el título de las canciones que están sonando. <audio controls autoplay preload="none" src="http://XXX.XXX.XXX.XXX:XXXX/tu-punto-de-montaje"></audio> Si tienes un blog en WordPress o quieres configurar el reproductor de otra forma aquí tienes un detallado tutorial sobre los reproductores HTML5 para radios en línea. También puedes usar Muses Audio Player. ¿Dudas y preguntas? ¡Escríbenos! O comparte tu experiencia en los comentarios.