Manual:Radio/Información técnica
Software de la radio
Utilizando giss.tv, podemos disponer del ancho de banda de su anillo de servidores, con el que podemos estar conectados a miles de oyentes sin saturar el ancho de banda de subida de nuestra conexión. La máquina de la radio, el ordenador dedicado a la radio, se ocupa de encodear a .ogg y mandar un único flujo hasta el anillo de servidores. Estos son los servidores del streaming propiamente dicho, del cual cuelgan los clientes que se conecten a él.
Software para la emisión
- ices2 para la emision en directo
- Radiobot, un bot de irc para controlar la emisión: programar emisiones en el tiempo, cargar listas de reproducción, etc.
ices2
Con ices2 encodeamos a .ogg y se manda un único streaming hasta el punto de montaje en giss.tv
Archivo de configuración del ices2
los parámetros del ices2 se le pasan mediante un archivo .xml en el cual va toda la configuración:
<ices> <background>0</background> -->1=ejecucion como demonio <logpath>/home/yo/ices</logpath> -->path del archivo del log <logfile>ices.log</logfile> -->archivo del log <loglevel>4</loglevel> -->nivel de detalle de informacion de acciones 1=error,2=warn,3=info,4=debug <consolelog>1</consolelog> <pidfile>/home/yo/ices2/ices.pid</pidfile> -->donde guarda el pid del proceso <stream> <metadata> <name>radio_no_name</name> -->nombre de la radio <genre>subversivo</genre> -->genero de la emision <description>Hack your mind!</description> -->breve descripcion <url></url> -->url de la radio </metadata> <input> <module>alsa</module> <param name="rate">44100</param> <param name="channels">2</param> <param name='device'>plughw:0,0</param> <param name="periods">2</param> <param name="buffer-time">500</param> <param name="metadata">1</param> <param name="metadatafilename">/home/yo/ices2/test</param> -->archivo donde leer los metadatos </input> <instance> <hostname>giss.tv</hostname> -->Ip/nombre del servidor emisor <port>8000</port> --->puerto de comunicacion con el servidor <password>xxxx</password> --->clave de acceso al server como source <mount>/yyyy.ogg</mount> --->nombre de la emision <reconnectdelay>2</reconnectdelay> <reconnectattempts>5</reconnectattempts> --->intentos de reconexion <maxqueuelength>80</maxqueuelength> <encode> <quality>1</quality> <maximum-bitrate>131072</maximum-bitrate> <minimum-bitrate>-1</minimum-bitrate> <managed>0</managed> <samplerate>22050</samplerate> <channels>2</channels> </encode> <downmix>1</downmix> <resample> <in-rate>44100</in-rate> <out-rate>22050</out-rate> </resample> </instance> </stream> </ices>
Manual SSHDJ (Secure Shell Net Jokey)
############################################# Manual SSHDJ (Secure Shell Net Jokey) ############################################# Este manual describe el procedimiento para pinchar en radio#hckrs. 1. Disponer de un cliente de chat (xchat, por ejemplo). apt-get install xchat 2. Dirigirse al canal #radio#hckrs del servidor de chat irc.freenode.net. Una vez allí, pedir una cuenta en la radio. Con esta cuenta podrás acceder por ssh al servidor de la radio alojado en el dominio radiobot.ath.cx. También debes pedir que te incluyan en la lista de usuarios de la cabina del dj, para que puedas entrar en su screen. 3. Entrar en laradio por ssh ssh <usuario>@radiobot.ath.cx 4. Ir a la cabina del dj screen -x dj/ 5. Bienvenido a la cabina screen del dj. Ten en cuenta, que en ese mismo momento puede haber otra persona pinchando. Te podrás cercionar de si es así, si observas movimiento, ya que podrás observar sus operaciones en tiempo real. Se trata de una cabina compartida, un screen compartido. Podrás interactuar. 6. Moverse por la cabina (man screen) Para moverte entre las shells del dj: ^a + n --> pasa a la siguiente shell ^a + p --> pasa a la shell anterior ^a + ^a --> conmuta entre la shell anterior y la actual 7. Comunicarte con el dj Lo suyo es crear un documento en una shell que no se esté usando, o sino, crear una shell con: ^a + c --> crea una shell nueva ^a + k --> mata la shell en la que estés y escribir en él algo para que el dj pueda comunicarse contigo joe nada --> crea el documento nada. saludar al colega dj y esperar a que te vea, o avisarlo mediante una señal en una shell que esté usando, pero con cuidado de no entorpecerlo que esté haciendo. Basta con escribir ":)"para que se percate de tu presencia para deducir que puedes haber abierto un documento en otra shell. Además, se puede dividir la pantalla en varias partes, una para pinchar con un reproductor, otra para buscar y preparar el siguiente track, y si hace falta,incluso una tercera para ver el documento abierto para comunicarte con el resto. 8. Dividir la pantalla en varias partes Se puede dividir en tantaspartes sea necesario, pero más de cuatro partes puede ser engorroso... pero allá cada cual. ^a + S --> divide la pantalla ^a + Q --> vuelve a pantalla completa 9. Moverse entre las partes de la pantalla La cosa está en que encada parte tengas lo que te interesa, por lo que lo suyo es moverse entre las shells (con los comandos descritos más arriba) en cada parte de la pantalla para tener lo que intereseen cada una. Para pasar de una parte de la pantalla a otra, se hace así: ^a + Tab --> pasa a la siguiente parte de la pantalla 10. El dj nos pasa el control bien, normalmente nos dejará algo sonando en una shell, como somaplayer o mplayer. Veamos un poco el somaplayer: Supongamos que ya hay un somaplayer sonando, el que nos ha dejado el anterior dj, pero sinó, lanzamos uno rápidamente: somaplayer . ---> reproduce lo que haya en el directorio en el que se esté. somaplayer algo.ogg ---> reproduce algo.ogg si ya hay algo sonando nos encontraremos con algo como: T: 01:23.99 [04:03.23] V: 100% B: 81% [zrtA] L 100% R 100% C o0 | | |_volumen || | | |_vúmeter | |_tiempo restante || | |_volumen de R |_tiempo transcurrido || |_volument de L aleatorio_||_repeat Bien, los comando de teclado más importante es el volumen, el cual podemos observar su porcentaje después de la "V: ". Todos los comandos de teclado distinguen entre mayúsculas y minúsculas. Así, la tecla "v" baja el volumen, así como la "V" lo sube. Lo mismo pasa con los conmutadores de [z/Z], con "z" desactivamos y con "Z" activamos, etc. En todo caso, cómo no: man somaplayer. ..:: en construcción ::..
################################################ ejercicos prácticos para el sshnj newbie ################################################ 1. Entra a la radio por ssh ssh usuario@radiobot.ath.cx 2. Entra en la cabina del dj screen -x dj/ 3. Muévete a otra shell de la cabina ^a + p <--- pasa a la siguiente shell ^a + n <--- pasa a la shell anterior ^a + ^a <--- conmuta entre la shell de antes y la que estés 4. Divide la pantalla en dos partes ^a + S <--- divide la pantalla 5. Pasa a la otra parte ^a + Tab <--- pasa entre partes de la pantalla 6. Muévete a otra shell desde esa parte con los comandos del punto 3. 7. Divide la pantalla en tres partes con el comando del punto 4. 8. Vuelve a pantalla completa ^a + Q <--- recupera pantalla completa 9. Si ves que los márgenes no han quedadi bien, recupéralos ^a + F <--- recupera los márgenes 10. Crea una shell nueva ^a + c <---- crea una shell nueva dentro del screen 11. Abre un documento con joe joe nada.txt <--- abre nada.txt con joe (editor de textos) 12. Invita a alguien a escribir en ese documento y cede el turno de palabra escribiendo un solo punto en una linea nueva estas ahí? . si, dime :) . cómo mola esto, no? . ya te digo!!! 13. guarda el documento y sal. ^k + ^w <--- guarda el documento ^k + ^q <--- sale. 14. Mata una shell ^a + k <--- mata la shell en la que se esté 15. Mezcla algo. vuelve a dividir la pantalla en dos y ejecuta en una el somaplayer con algun audio. Luego pasa a la otra parte y busca el siguiente archvo a reproducir. Cuando lo tengas preparado, lánzalo directamente, aunque no se haya acabado el otro. Pasa a la otra parte y baja el volumen con la tecla "v" para dar paso al que acabas de lanzar. 16. Fade in Mientras está sonando lo que acabas de lanzar, pasa a otra shell y reproduce algo pero muteado. somaplayer -v 0 algo.ogg Ahora ves subiendo el volumen paulativamente con la tecla "V". Si te pasas bájalo con la tecla "v" (nótese la capitulación). 17. Mete el piloto automático y lárgate Hay muchas opciones. Una podría ser elegir una netjuke de música libre y hacer un wget de toda su música (añadiendo /play.php?do=play_all a la url) pipeadolo al mplayer, con repeat, reproducción aleatoria de la lista y con más caché por si acaso. Por ejemplo, la de burnstation.org: wget http://db.burnstation.org/play.php?do=play_all -O - | mplayer -cache 8192 -loop 0 -shuffle -playlist - O la de r23.cc: wget http://netjuke.r23.cc/play.php?do=play_all -O - | mplayer -cache 8192 -loop 0 -shuffle -playlist - O reproducir una lista de archivos locales, o simplemente repruduciendo todos los archivos de un directorio, siempre con el modo de repetición, para que no se acabe y se quede en silencio: somaplayer -r musica/jazz/ Entonces ya puedes salir del screen. Hay dos formas: ^a + ^d <--- sale del screen y vuelve a la shell de ssh ^a + D + D <--- sale del screen y corta la conexión ssh 18. Repasa mentalmente lo que has hecho y repite los primeros pasos cuando quieras recuperar la screen de dj, o quieras ver si hay alguien pinchando. No olvides compartir tus conocimientos y ayudar a quién esté realmente interesado en aprender, así como documentar y publicar todo canto puedas (con licencias libres, porsupuesto) ;) ################################################ Sat, 17 Nov 2007 03:16:38 +0100 ################################################
Raiobot
Radiobot es el bot que gestiona radio#hckrs a través del canal #radio#hckrs del servidor de chat irc.freenode.net
Comandos:
NOMBRE | SINOPSIS | DESCRIPCIÓN |
---|---|---|
!help | Devuelve la url de la ayuda de radiobot | |
!url | Devuelve la url del stream de la radio | |
!web | Devuelve la url de la web de la radio | |
!name | Devuelve información sobre el archivo o stream que se esté reproducioendo | |
!add | !add <url> | Añade la url pasada como parámetro, a la lista en curso |
!rm | !rm <número> | Borra de la lista de reproducción, la url que corresponda con el número pasado como parámetro |
!load | !load <lista> | Carga la lista de reproducción pasada como parámetro. |
!save | !save <nombre> | Salva la lista en curso, con el nombre pasado como parámetro |
!merge | !merge <lista> | Carga y añade la lista pasada como parámetro, a la lista en curso |
!lspl | Devuelve la lista de las listas de reproducción guardadas | |
!play | Reproduce la lista de reproducción en curso, en caso de parada | |
!+ | Avanza una posición en la lista de reproducción en curso | |
!- | Retrocede una posición en la lista de reproducción en curso | |
!jump | !jump <número> | Salta a la posición pasada como parámetro, de la lista de reproducción en curso |
!tts | !tts <texto> | Intenta locutar el texto pasado como parámetro. Sólo en castellano. El archivo de audio generado, es colocado en la cola de la lista de reproducción, como siguiente archivo a ser reproducido |
!cron | !cron <fecha> <hora> <url/!load> <lista> | Programa emisiones en el tiempo. <fecha> debe responder a <dia[1-31]>/<mes[1-12]>/<dia de la semana[0-7]> donde 0 y 7 correspone a domingo. |
Software para el servidor de estriming (giss.tv)
- icecast2
Software complementario
kjabata
Permite llevar a a cabo una estructura concreta de la emisión: sintonias, cuñas, contenidos, etc.
NetJuke
Es un repositorio de audio/video online con una interfaz web. La netJuke nos sirve para colgar todos los programas emitidos allí para que puedan ser escuchados o/y bajados posteriormente por cualquier internauta; pero también para que cualquiera de la radio pueda subir material, desde cualquier ordenador conectado a Internet, para su posterior emisión, ya que basta con incluir el link en la lista de reproducción o parrilla, para que se emita a la hora programada.
Enlaces de interes para montaje de radio por internet
Suburbia: ¿Cómo hacer streaming?
ices2-howto
Icecast2: Examining the XML Files
icecast download
Instalacion de Burnstation
Netjuke download