Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
Última revisãoAmbos lados da revisão seguinte
ubalab:livegaivota [2016/03/10 17:37] efeefeubalab:livegaivota [2016/06/05 20:10] efeefe
Linha 1: Linha 1:
-[[Ubalab]] > [[Projetos]] > LiveGaivota+[[Ubalab]] > [[Projetos]] / [[gaivota:midialivre|MidiaLivre]] > LiveGaivota
  
 Estação de trabalho responsável pela programação automática da Rádio Cultural Comunitária [[gaivotafm:gaivotafm|Gaivota FM]]. Estação de trabalho responsável pela programação automática da Rádio Cultural Comunitária [[gaivotafm:gaivotafm|Gaivota FM]].
  
-===Hardware atual===+====Descrição do sistema ==== 
 + 
 +=== Hardware atual===
  
   * Acer Aspire   * Acer Aspire
Linha 21: Linha 23:
   * Darkice - cliente para envio de stream icecast   * Darkice - cliente para envio de stream icecast
  
-===Configuração do sistema de som===+====Configuração inicial==== 
 + 
 +===Sistema de som===
  
   * Servidor MPD gerenciando música e playlists na pasta padrão (/var/lib/mpd/music e /var/lib/mpd/playlists)   * Servidor MPD gerenciando música e playlists na pasta padrão (/var/lib/mpd/music e /var/lib/mpd/playlists)
Linha 28: Linha 32:
 ====todo==== ====todo====
  
-  * Inserir blocos de apoio (definir periodicidade e estrutura)+  * <del>Inserir blocos de apoio (definir periodicidade e estrutura)</del>
   * Entrar em pontos aleatórios da lista após carregá-la pelo script.   * Entrar em pontos aleatórios da lista após carregá-la pelo script.
 +  * Quebrar os blocos de apoio 10 em horários alternados.
 +  * Resolver Voz do Brasil:
 +    * Playback simultâneo em dois programas diferentes, configurando o Alsa com plugin Dmix;
 +    * Script para usar o mplayer em modo daemon entre as 19h e as 20h.
 +  * Liberar espaço, ou pôr pendrive/disco USB para inserir mais músicas na seleção automática (e ainda disponibilizar a pasta para outras máquinas na rede)
 +  * Definir autorizações de usuários para o MPD e configurar os clientes de acordo.
 +  * Configurar Interface Behringer UCA para realizar o stream a partir da saída da mesa direto na LiveGaivota (e liberar o netbook para ser só servidor web/impressão).
  
-===== Log =====+==== Log ====
  
 ===10/09/2015=== ===10/09/2015===
Linha 242: Linha 253:
   - O MPD estava travando quando a internet não funcionava, o que não pode acontecer. Lembrei que havia habilitado o icecast como uma das saídas do mpd. Seria ele que estava fazendo o MPD parar de tocar as músicas? Tentei isolar o problema: primeiro desabilitei a saída icecast (no meu caso aqui foi simplesmente mandar $ mpc disable 3). Então arranquei o cabo de força do switch e esperei 10s. O áudio continuou ok. Para verificar a hipótese, habilitei novamente o icecast. Depois de me assegurar que o MPD continuava firme, desliguei o switch outra vez. Em cerca de cinco segundos, o áudio parou. Um pouco depois, inseri de novo o cabo, e a transmissão voltou de onde havia parado. Donde concluí que era mesmo a saída icecast que fazia tudo parar. Então decidi desabilitá-la até resolver a situação do switch ou ter tempo de pesquisar uma saída que evite esse bloqueio.   - O MPD estava travando quando a internet não funcionava, o que não pode acontecer. Lembrei que havia habilitado o icecast como uma das saídas do mpd. Seria ele que estava fazendo o MPD parar de tocar as músicas? Tentei isolar o problema: primeiro desabilitei a saída icecast (no meu caso aqui foi simplesmente mandar $ mpc disable 3). Então arranquei o cabo de força do switch e esperei 10s. O áudio continuou ok. Para verificar a hipótese, habilitei novamente o icecast. Depois de me assegurar que o MPD continuava firme, desliguei o switch outra vez. Em cerca de cinco segundos, o áudio parou. Um pouco depois, inseri de novo o cabo, e a transmissão voltou de onde havia parado. Donde concluí que era mesmo a saída icecast que fazia tudo parar. Então decidi desabilitá-la até resolver a situação do switch ou ter tempo de pesquisar uma saída que evite esse bloqueio.
  
-==== 03/03/2016 ====+=== 03/03/2016 ===
  
 Mudei a estação para dentro do escritório da Gaivota. Tarefas que preciso resolver agora: Mudei a estação para dentro do escritório da Gaivota. Tarefas que preciso resolver agora:
Linha 252: Linha 263:
  
 Procurando um pouco mais, encontrei uma [[http://mpd.wikia.com/wiki/Alsa|menção ao dmix]] na documentação do próprio mpd. Segui as modificações sugeridas (mudar o mpd.conf e o /etc/asound.conf), mas por enquanto não deu (o log do MPD deu "option 'options' on line 209 was not recognized". Será só questão de plural? Não... Procurando um pouco mais, encontrei uma [[http://mpd.wikia.com/wiki/Alsa|menção ao dmix]] na documentação do próprio mpd. Segui as modificações sugeridas (mudar o mpd.conf e o /etc/asound.conf), mas por enquanto não deu (o log do MPD deu "option 'options' on line 209 was not recognized". Será só questão de plural? Não...
 +
 +===10/03/16===
 +
 +Organizando as demandas aqui na wiki e procurando soluções para usar o dmix no MPD. Será que preciso compilar uma versão que o suporte?
 +
 +===17/03/16==
 +
 +Vim algumas vezes durante esta semana. Modifiquei algumas coisas nos scripts (quebrei ao meio os blocos de apoio 10x, e eles alternam a cada hora no horário útil). E finalmente migrei o stream para esta estação. Eu estava usando a sintaxe errada para a configuração da placa de som. O correto é "hw:1,0" em vez de "hw1,0".
 +
 +Tentando resolver a transmissão da Voz do Brasil. Costumamos usar o stream da Rádio Nacional de Brasília, disponível nesta página:
 +
 +http://radios.ebc.com.br/sites/_radios/player_streamer/index.html?emissora=radio-nacional-fm-brasilia
 +
 +O código-fonte da página aponta dois streams: um rtmp e um http. O http baixa por alguns segundos e para. O rtmp não abre nem no mpd nem no mplayer. Parece ter um começo de solução aqui:
 +
 +http://stackoverflow.com/questions/1024632/rtmp-is-there-such-a-linux-command-line-tool
 +
 +http://unix.stackexchange.com/questions/16806/play-rtmp-stream-from-command-line
 +
 +Que aponta para baixar o stream (em FLV!) e convertê-lo para mp3. Se isso rolar, talvez dê para fazer em tempo real ou ao menos com um delay de uns 5 segundos. Será?
 +
 +A última sugestão no Stack Overflow indica que o ffmpeg pode ser usado para baixar e converter ao mesmo tempo. Tentei aqui, mas não deu. Mensagem de erro:
 +
 +  HandShake: client signature does not match!
 +  Closing connection: NetStream.Play.StreamNotFound
 +  rtmp://ebcremuxlivefs.fplive.net/ebcremuxlive-ebcnacionalfm/stream1: Operation not permitted
 +
 +Nenhum resultado com rtmdump nem com o flvstreamer. Vou explorar as opções http.
 +
 +Este arquivo:
 +
 +http://ebcremuxlive-live.hls.adaptive.level3.net/manifests/ebcremuxlive-ebcnacionalfm/live.m3u8
 +
 +Contém isso:
 +
 +  #EXTM3U
 +  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000
 +  http://ebcremuxlive-live.hls.adaptive.level3.net/hls-live/ebcremuxlive-ebcnacionalfm/_definst_/live/stream1.m3u8
 +
 +Já este arquivo listado lá dentro tem uma série de coisas que começam assim e vão adiante:
 +
 +  #EXTM3U
 +  #EXT-X-MEDIA-SEQUENCE:36402
 +  #EXT-X-ALLOW-CACHE:NO
 +  #EXT-X-VERSION:2
 +  #EXT-X-TARGETDURATION:8
 +  #EXTINF:8,
 +  ../../../../hls-live/streams/ebcremuxlive-ebcnacionalfm/events/_definst_/live/stream1Num36402.ts
 +  #EXTINF:8,
 +  ../../../../hls-live/streams/ebcremuxlive-ebcnacionalfm/events/_definst_/live/stream1Num36403.ts
 +  #EXTINF:8,
 +  ../../../../hls-live/streams/ebcremuxlive-ebcnacionalfm/events/_definst_/live/stream1Num36404.ts
 +
 +E assim por diante.
 +
 +===24/03/2016===
 +
 +Pensando em maneiras para facilitar a inserção de arquivos de música para quem não tem familiaridade com o linux e linha de comando. Decidi pegar um pequeno disco externo (de 30G), replicar a estrutura de pastas da "máscara" e então modificar os scripts para, antes do shuffle, carregar os arquivos da pasta correspondente também.
 +
 +  mount /dev/sdb1 /media/biblioteca
 +  mkdir /media/biblioteca/mascara-ext
 +  mkdir /media/biblioteca/mascara-ext/dia/
 +  mkdir /media/biblioteca/mascara-ext/dia/00-07
 +  ...
 +  
 +(e assim por diante)
 +
 +===31/03/2016===
 +
 +Começando a estudar possibilidades do Telegram para o fluxo de trabalho da rádio. Vou documentar na página GaivotaGram.
 +
 +===01/04/2016===
 +
 +Referências para o futuro próximo:
 +
 +  * [[http://mpd.wikia.com/wiki/Alsa|MPD - Alsa]]
 +  * [[http://mpd.wikia.com/wiki/Tuning|MPD - Tuning]]
 +  * [[http://alsa.opensrc.org/Dmix|Alsa - DMIX]]
 +  * [[http://stackoverflow.com/questions/8296170/what-is-a-pid-file-and-what-does-it-contain|PID files]]
 ==== Referências ==== ==== Referências ====
  
Linha 259: Linha 349:
   * [[http://stackoverflow.com/questions/17841532/init-d-starting-mplayer-via-start-stop-daemon|outra solução para o mplayer]]   * [[http://stackoverflow.com/questions/17841532/init-d-starting-mplayer-via-start-stop-daemon|outra solução para o mplayer]]
   * [[https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via%20Samba%20Via%20CLI%20%28Command-line%20interface/Linux%20Terminal%29%20-%20Uncomplicated,%20Simple%20and%20Brief%20Way!|Usando o Samba para compartilhar pastas com redes windows]]   * [[https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via%20Samba%20Via%20CLI%20%28Command-line%20interface/Linux%20Terminal%29%20-%20Uncomplicated,%20Simple%20and%20Brief%20Way!|Usando o Samba para compartilhar pastas com redes windows]]
 +  * [[https://wiki.samba.org/index.php/Mounting_samba_shares_from_a_unix_client|Mounting Samba shares from unix]]
 +  * [[https://help.ubuntu.com/community/Samba/SambaClientGuide|Samba Client Guide]]
 +
 +
 +  * http://dev.storebot.me/t/use-ifttt-to-create-an-automated-broadcasting-bot-for-a-channel/490