AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1490932
Accepted
Bigue Nique
Bigue Nique
Asked: 2019-10-11 00:41:10 +0800 CST2019-10-11 00:41:10 +0800 CST 2019-10-11 00:41:10 +0800 CST

AzuraCast: altere as configurações do Icecast para ativar a música de introdução

  • 772

AzuraCast usa Icecast (atualmente Icecast 2.4.0-kh10-ac4) para transmitir rádio ao vivo.

O Icecast tem a opção de anexar um arquivo de mídia à transmissão ao vivo quando um novo ouvinte se conecta.

Isto é o que a documentação do Icecast tem a dizer sobre a <intro>opção (meu negrito):

Um valor opcional que especificará o arquivo cujo conteúdo será enviado para novos ouvintes quando eles se conectarem, mas antes que o fluxo normal seja enviado. Certifique -se de que o formato do arquivo especificado corresponda ao formato de streaming . O arquivo especificado é anexado ao webroot antes de ser aberto.

mesmo formato

Para ter certeza absoluta de que o arquivo de introdução tinha exatamente o mesmo formato de codificação do stream, usei um pequeno despejo do stream ( mplayer -dumpstream <mountpoint_url>) para usar como arquivo de introdução para teste.

Editando diretamente icecast.xml? Não.

Agora, o arquivo de configuração do Icecast para uma estação geralmente está localizado no /var/azuracast/stations/<station_slug>/config/icecast.xmlservidor no qual o AzuraCast está sendo executado (com configurações padrão).

O primeiro problema que encontrei é que o AzuraCast substitui o icecast.xmlarquivo toda vez que inicia ou reinicia o Icecast, portanto, não pode ser editado diretamente.

Alterando as configurações do Icecast de dentro do AzuraCast

Felizmente, consegui substituir (algumas das) configurações do Icecast inserindo JSON no campo Configuração personalizada (encontrado em Editar perfil > Transmissão ). Aqui está um exemplo:

{
  "location" : "Overrides location",
  "mount" : [{
    "intro" : "/intro-128.mp3"
  },{
    "intro" : "/intro-64.aac"
  }],
  "paths" : {
    "webroot" : "/usr/local/share/icecast/web"
  },
  "directory" : {
    "yp-url-timeout" : "15",
    "yp-url" : "http://dir.xiph.org/cgi-bin/yp-cgi"
  }
}

E isso se traduz com sucesso em XML dentro icecast.xmlquando o Icecast é reiniciado (apenas mantendo as tags relevantes):

<icecast>
    <location>Overrides location</location>
    ...
    <mount type="normal">
        <mount-name>/radio.mp3</mount-name>
        ...  
        <intro>/intro-128.mp3</intro>
    </mount>
    <mount type="normal">
        <mount-name>/radio.aac</mount-name>
        ...
        <intro>/intro-64.aac</intro>
    </mount>
    <paths>
        <basedir>/usr/local/share/icecast</basedir>
        <webroot>/usr/local/share/icecast/web</webroot>
        ...
    </paths>
    ...
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
    </directory>
</icecast>

Mas não, não vai tocar...

Mas não consigo descobrir uma combinação de <intro>e <webroot>configurações para fazê-lo funcionar.

Ei! Webroot não existe!

Coisa estranha: o <webroot>valor padrão nem existe no servidor. Tentei criar o caminho e colocar o arquivo de introdução lá, mas ele não tocava (mesmo depois de reiniciar o Icecast), nem aparecia quando você solicitava http://<host:port>/intro-128.mp3diretamente (o que você esperaria, pois fica bem na raiz da web).

E quando mudei o valor de <webroot>para outro diretório, o front-end da web do Icecast parou de funcionar (embora os fluxos ainda funcionassem) e solicitar diretamente o arquivo de introdução também não funcionou.

Isso me faz suspeitar que o AzuraCast de alguma forma "redireciona" as solicitações do Icecast para o sistema de arquivos.

Docker? Dentro ou fora?

Meu AzuraCast está rodando em uma instalação Docker, dentro de um VPS. Claro, todos esses caminhos e arquivos residem dentro do volume do Docker. Mas só para ter certeza , também tentei criar os caminhos diretamente no servidor host, sem sucesso até agora.

(Sim, as mudanças estão em vigor.)

Confirmo que as alterações icecast.xmlestão em vigor, pois posso ver o local substituído no Icecast e o fluxo é registrado em dir.xiph.org .

Alguma dica?

streaming audio-streaming
  • 1 1 respostas
  • 1871 Views

1 respostas

  • Voted
  1. Best Answer
    Bigue Nique
    2019-10-17T18:10:49+08:002019-10-17T18:10:49+08:00

    Entendi!

    Para definir o arquivo de introdução de uma montagem, primeiro você precisa disponibilizá-lo em algum lugar no webroot do Icecast, que efetivamente está /usr/local/share/icecast/web dentro do stationsserviço Docker. Para que isso aconteça, precisamos mapear o arquivo usando o método descrito na documentação do AzuraCast para usar uma faixa padrão personalizada

    Editar docker-compose.override.yml

    Como docker-compose.ymlpode ser substituído ao atualizar o AzuraCast, criaremos (ou editaremos) docker-compose.override.ymlpara adicionar nosso mapeamento.

    Para criar ou editar docker-compose.override.ymla partir do shell no servidor host, você pode digitar:

    # cd /var/azuracast
    # nano docker-compose.override.yml
    

    Cole o seguinte conteúdo YAML (ajuste os caminhos para o seu encaixe):

    version: '2.2'
    
    services:
        stations:
            volumes:
                - /path/to/your/file.mp3:/usr/local/share/icecast/web/intro.mp3 
    

    (No nano, aperte ^O para salvar, ^X para sair.)

    Reiniciar AzuraCast

    Você precisa (totalmente) reiniciar seus serviços do Docker para que o novo mapeamento entre em vigor. Na casca:

    # docker-compose down
    # docker-compose up -d
    # docker-compose start
    

    Edite a configuração do ponto de montagem do Icecast

    Em vez de editar as configurações do Icecast da estação como o pobre OP fez, é muito mais simples especificar as configurações de introdução diretamente nas configurações do ponto de montagem.

    Clique em Pontos de montagem e, em seguida, no botão Editar para o ponto de montagem específico. Em Custom Frontend Configuration (na parte inferior), adicione a seguinte linha:

    { "intro" : "intro.mp3" }
    

    E certifique-se de que o nome do arquivo corresponda ao que você definiu em docker-compose.override.yml.

    Clique em Salvar alterações e, em seguida, no botão laranja Reiniciar para Aplicar alterações para reiniciar o Icecast.

    Aproveite sua introdução!

    Sintonize sua estação para ouvir sua bela introdução.

    • 1

relate perguntas

  • Streaming .jpg stream sobre RTP com gstreamer ou avconv

  • Verificando dados transmitidos com clamav

  • O VLC pode reproduzir arquivos MP4 inacabados?

  • Configurando um servidor nginx RTMP. Eu tenho tudo funcionando menos o Facebook Live

  • Vídeo sobre HTTP - você pode dizer se um vídeo está sendo baixado ou assistido?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve