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
ubalab:livegaivota [2016/03/03 19:45] – [03/03/2016] efeefeubalab:livegaivota [2016/06/05 20:11] (atual) efeefe
Linha 1: Linha 1:
-[[Ubalab]] > [[Projetos]] > LiveGaivota+[[Ubalab]] > [[Projetos]] / [[gaivotafm:midialivre|MidiaLivre]] > LiveGaivota
  
-Estação de trabalho responsável pela programação automática da Rádio Cultural Comunitária [[GaivotaFM]].+====LiveGaivota====
  
-===Hardware atual===+Estação de trabalho responsável pela programação automática da Rádio Cultural Comunitária [[gaivotafm:gaivotafm|Gaivota FM]]. 
 + 
 +====Descrição do sistema ==== 
 + 
 +=== Hardware atual===
  
   * Acer Aspire   * Acer Aspire
Linha 21: Linha 25:
   * 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 34:
 ====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 255:
   - 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 249: Linha 262:
   * Migrar o stream para o Live   * Migrar o stream para o Live
  
-Pelo que pesquisei, o uso simultaneo do ALSA é possível com o plugin dmix. Encontrei um [[http://alsa.opensrc.org/Dmix#2._Test_basic_dmix_on_alsa_with:|tutorial]] dele.+Pelo que pesquisei, o uso simultaneo do ALSA é possível com o plugin dmix. Encontrei um [[http://alsa.opensrc.org/Dmix#2._Test_basic_dmix_on_alsa_with:|tutorial]] dele. Os testes com o aplay deram certo. 
 + 
 +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:
 +  #EXT-X-TARGETDURATION:
 +  #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 257: Linha 351:
   * [[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