Streaming Metadata Update tool, rdstreamdata/pt-br
From Rivendell Wiki
Contents
Atualizando os metadados do IceCast2/Shoutcast com o Rivendell - RDSTREAMDATA
Seguindo os passos abaixo conseguiremos usar as informações do "Now & Next" do Rivendell para atualizar servidores IceCast2 e/ou Shoutcast, fazendo assim com que os nomes do artista e da música em execução sejam exibidos no player que recebe o streaming.
O Rivendell envia estas informações por meio de mensagens UDP, o que fazemos é capturar estas mensagens (usando o netcat), tratá-las e aplicá-las de forma desejada aos serviços de streaming Shoutcast/Icecast2.
Requisitos
Os procedimentos aqui expostos foram testados na distribuição Ubuntu 10.04 32 bits. Esteja certo que sua distribuição possui os seguintes pacotes instalados:
- wget (Usado para atualizar servidores IceCast2)
- lynx (Usado para atualizar servidores Shoutcast)
- nc (netcat, usado para capturar as mensagens enviadas pelo RDAirPlay)
Os comandos usados nos scripts abaixo fornecidos funcionam com o NC (netcat) versão openbsd que é o default para o Ubuntu 10.04. Caso sua distribuição use o NC tradicional como padrão, veja se existe o binário de versão openbsd, já que o Ubuntu, por exemplo, possui ambas versões. No Ubuntu você pode checar as versões disponiveis com o comando:
# update-alternatives --list nc
Não é necessário que você altere a versão padrão de seu sistema, basta configurar nos passos seguintes para que o RDStreamData use a versão openbsd.
Instalação
- Faça download do pacote rdstreamdata.tar.gz
- Descompacte o pacote e entre no diretório criado
# tar -zxvf rdstreamdata.tar.gz # cd rdstreamdata
- Como root, execute o script de instalação e leia as instruções na tela.
# ./install.sh This script will install RDstreamdata, a set of scripts that will listen to an UDP port for Rivendell Now & Next information and update this information to an IceCast2 and/or ShoutCast Server. Do you want to proced? y/n.y
- Digite "y" e tecle Enter
Copying files Now you have to edit '/etc/rdstreamdata.conf' to suit your IceCast2, ShoutCast and Rivendell Configurations. Attemp that you must set the username and group wich the process must run under before you start the daemon for the first time. Edit '/etc/default/rdstreamdata' and set 'ENABLE' to 'true', so you can start it though the init script You also need to set the script '/etc/init.d/rdstreamdata' to be run automaticaly in the desired runlevels, in Ubuntu systems you may use 'sysv-rc-conf' command for this. You can contact me at contato@fdts.com.br Thanks for using
Configurações Gerais
- Agora devemos configurar alguns itens, como já descrito pelo instalador, comece pelo /etc/defaults/rdstreamdata, onde devemos preencher qual o usuário sob o qual os processos serão executados. Pode-se usar tanto o usuário com o qual você loga no Linux quanto o usuário que roda os outros serviços do Rivendell, eu uso o username rduser e grupo rivendell. NÃO aconselho que seja usado root ou qualquer outro usuário com maiores privilégios.
- Ainda no /etc/defaults/rdstreamdata ajuste o valor de ENABLE para true, caso contrário o daemon não será iniciado.
- No arquivo /etc/rdstreamdata.conf temos todas as demais configurações, devemos nos atentar às seguintes:
- Na área de configurações gerais:
- netcat_bin=/bin/nc - Neste ponto podemos definir um binário alternativo para o NetCat, lembre que ressaltamos no início a importancia de usar-se o NetCat versão OpenBSD. Como no Ubuntu 10.04 este já é o padrão, estou usando o path padrão /bin/nc.
- riv_udp_port="9876" - Aqui definimos em qual porta nosso script estará escutando por mensagens do Rivendell, deve-se usar uma porta que não esteja sendo usada por nenhum serviço e sempre acima de 1024, já que não estamos executando como root. A porta aqui definida será usada também na configuração do Rivendell.
- message="Nome da sua rádio" - A mensagem definida aqui será usada quando o RDAirPlay estiver fechado ou quando o evento que estiver no ar não estiver configurado para envio de nomes (vinhetas, comerciais, chamadas, etc).
- min_title_size=5 - Tamanho mínimo de caracteres que o evento deve ter para que o a mensagem padrão definida no item anterior seja substituida pelo nome do evento. Isso é usado para filtrar caracteres nulos de eventos indesejados.
- Na área de configurações gerais:
Configurações Icecast2
- No arquivo /etc/rdstreamdata.conf
- Estas configurações definem se você usa ou não um servidor Icecast2 e quais os dados para acesso a este.
- ic_enable=true - Caso o valor seja diferente de true o servidor Icecast2 não será atualizado.
- ic_server="localhost" - Hostname ou IP do servidor Icecast2, altere conforme necessário.
- ic_admin="admin" - Usuário administrador do servidor Icecast2, altere conforme necessário.
- ic_pass="senha" - Senha do usuário administrador do servidor Icecast2, altere conforme necessário.
- ic_port="8888" - Porta do servidor Icecast2, altere conforme necessário.
- ic_mount="/radio" - Ponto de montagem do servidor Icecast2, altere conforme necessário.
- Estas configurações definem se você usa ou não um servidor Icecast2 e quais os dados para acesso a este.
Configurações Shoucast
- No arquivo /etc/rdstreamdata.conf
- Estas configurações definem se você usa ou não um servidor Shoutcast e quais os dados para acesso a este.
- sc_enable=true - Caso o valor seja diferente de true o servidor Shoutcast não será atualizado.
- sc_server="localhost" - Hostname ou IP do servidor Shoutcast, altere conforme necessário.
- sc_admin="admin" - Usuário administrador do servidor Shoutcast, altere conforme necessário.
- sc_pass="senha" - Senha do usuário administrador do servidor Shoutcast, altere conforme necessário.
- sc_port="8080" - Porta do servidor Shoutcast, altere conforme necessário.
- Estas configurações definem se você usa ou não um servidor Shoutcast e quais os dados para acesso a este.
Configurando o Rivendell
Está é uma etapa imprescindível para que a atualização funcione, já que se o Rivendell não enviar as informações desejadas, de nada adianta o esforço. Para habilitar o envio das informações seguimos os seguintes passos:
- Acesse o rdadmin.
- Clique em Manage Hosts.
- Selecione o Host onde é executado o RDAirPlay e clique em Edit.
- Clique em RDAirPlay
- Na tela que se abre clique em Configure Now & Next Parameters.
- Preencha os campos como indicado:
- IP Address: 127.0.0.1
- UDP Port: 9876 - A mesma informada na configuração do /etc/rdstreamdata.conf.
- UDP String: %a - %t %r - Desta forma teremos uma mensagem com os nomes do artista e da música atual, mais um salto de linha.
Neste ponto o RDAirPlay já está pronto para enviar as mensagens UDP para atualizar nosso Streaming, porém devemos ter certeza de que os grupos estejam configurados para transmitir as informações dos eventos.
- Acesse novamente o rdadmin.
- Clique em Groups.
- Selecione um grupo que queira que transmita as informações e clique em Edit.
- Marque a opção Transmit Now & Next data e clique em OK.
- Repita os últimos passos para todos os Grupos desejados.
- Feche e abra novamente o RDAirPlay. Agora o Rivendell já deve estar atualizando seu servidor de streaming!
Happy Rivendelling!
Você pode acompanhar as atualizações no arquivo de log /var/log/rdstreamdata.log