Discusión:2013/Nodos/Montando un emisora FM-Online Rpi-LiquidSoap

De Hackmeeting

< Discusión:2013/Nodos(Diferencias entre revisiones)
(Página nueva: == Documentación rPI+FM == * http://icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter == Script emisión liquidsoap contra server públic para el HM ==...)
(Script de continuidad en el servidor para mantener la radio viva)
 
(Una edición intermedia no se muestra.)
Línea 12: Línea 12:
El fichero .pls es un playlist creada a partir de una conjuntod de audios en una carpeta, facilmente creada a partir de un find:
El fichero .pls es un playlist creada a partir de una conjuntod de audios en una carpeta, facilmente creada a partir de un find:
-
  <code>find PATH_CONTINUIDAD --iname "*.ogg" > continuidad.pls</code>
+
  <code>find PATH_CONTINUIDAD -iname "*.ogg" > continuidad.pls</code>
Algo así sería el script:
Algo así sería el script:
  <code>set("log.file.path","/tmp/basic-radio.log")
  <code>set("log.file.path","/tmp/basic-radio.log")
-
 
  radio = random([playlist("continuidad.pls")])
  radio = random([playlist("continuidad.pls")])
-
 
  clock = audio_to_stereo(single("hm.ogg"))
  clock = audio_to_stereo(single("hm.ogg"))
-
 
+
  radio = add([radio, switch([({0m0s},clock)])])
-
  #radio = add([radio, switch([({0m0s},clock)])])
+
-
 
+
  radio = fallback(track_sensitive=false,[input.http("http://localhost:8000/hm2013.ogg"), radio])
  radio = fallback(track_sensitive=false,[input.http("http://localhost:8000/hm2013.ogg"), radio])
-
 
-
#radio = crossfade(radio)
 
-
 
  def apply_metadata(m) =
  def apply_metadata(m) =
         print("HM Radio!!")
         print("HM Radio!!")
  end
  end
-
 
  s = on_metadata(apply_metadata,radio)
  s = on_metadata(apply_metadata,radio)
-
 
  output.icecast(%vorbis,description="HMRadio-2013.",description="Radio Hackmeeting - Soberanía tecnológica a través de nuestros medios",genre="hacktivism",name="Hackmeeting 2013",host="localhost",port=8000, password="hm2013",mount="hm.ogg",mksafe(s))</code>
  output.icecast(%vorbis,description="HMRadio-2013.",description="Radio Hackmeeting - Soberanía tecnológica a través de nuestros medios",genre="hacktivism",name="Hackmeeting 2013",host="localhost",port=8000, password="hm2013",mount="hm.ogg",mksafe(s))</code>

Revisión actual

Documentación rPI+FM

Script emisión liquidsoap contra server públic para el HM

set("log.file.path","/tmp/jack")
output.icecast(%vorbis,host="128.127.162.224",port=8000,password="hm2013",mount="hm2013.ogg",mksafe(in()))

Script de continuidad en el servidor para mantener la radio viva

Para no tener la radio en silencio, podemos mantener un hilo de continuidad a través de otro script y este al recibir el hilo de la emisión en directo desde el HM corta la conexión de continuidad y conecta el stream entrante.

Además, añadimos una señal horario con una cuña del HM para hacer un poco más dinámica la continuidad

El fichero .pls es un playlist creada a partir de una conjuntod de audios en una carpeta, facilmente creada a partir de un find:

find PATH_CONTINUIDAD -iname "*.ogg" > continuidad.pls

Algo así sería el script:

set("log.file.path","/tmp/basic-radio.log")
radio = random([playlist("continuidad.pls")])
clock = audio_to_stereo(single("hm.ogg"))
radio = add([radio, switch([({0m0s},clock)])])
radio = fallback(track_sensitive=false,[input.http("http://localhost:8000/hm2013.ogg"), radio])
def apply_metadata(m) =
       print("HM Radio!!")
end
s = on_metadata(apply_metadata,radio)
output.icecast(%vorbis,description="HMRadio-2013.",description="Radio Hackmeeting - Soberanía tecnológica a través de nuestros medios",genre="hacktivism",name="Hackmeeting 2013",host="localhost",port=8000, password="hm2013",mount="hm.ogg",mksafe(s))
Herramientas personales
wiki-navigation
project-navigation