Como configuro um servidor Icecast para transmitir áudio na minha rede?

58

Transmitir a saída da placa de som como um fluxo de rádio da Internet é uma maneira confiável de transmitir áudio em uma rede. Isto pode muito bem ser usado para, e. transmitir áudio em uma LAN sem fio para outro computador ou qualquer outro dispositivo capaz de reproduzir fluxos de rádio da Internet.

No entanto, não encontrei um guia passo a passo sobre como configurar isso.

    
por Takkat 28.02.2011 / 23:40

1 resposta

67

Transmitir áudio com Icecast2

1. Instale o Icecast2

2. Editar configuração do Icecast2

Abra o arquivo /etc/icecast2/icecast.xml como root em um editor. Por motivos de segurança, você deve configurar as senhas na seção <authentication> :

<admin-user>admin</admin-user>
<admin-password>hackme</admin-password> 

Se você alterou o <source-password> ou o <relay-password> , também é necessário fazer isso no lado de origem ou de retransmissão. Isso significa deixar o padrão ou alterá-lo no arquivo ices2.xml (veja abaixo) também. O mesmo precisará ser feito nos arquivos de configuração do Ices ou Darkice.

Você também precisa definir o nome do host onde seu fluxo pode ser alcançado:

<hostname>localhost</hostname>

Deixe-o como localhost (não é necessário fornecer um IP resolvido) quando desejar transmitir apenas em sua rede local. A porta padrão a ser ouvida é 8000. Altere-a somente quando necessário.

3. Editar padrões

Abra o arquivo /etc/default/icecast2 como root em um editor. A última linha precisa ser alterada para

ENABLE=true

Isso é tudo para o Icecast2. Claro que existem muitas outras configurações que você pode jogar. Nos arquivos de configurações, há notas explicativas sobre os parâmetros.

4. Iniciar / Parar Icecast

O servidor é iniciado e interrompido pelos seguintes comandos:

/etc/init.d/icecast2 start
/etc/init.d/icecast2 stop

Durante a execução, o servidor Icecast pode ser administrado em qualquer navegador em http://localhost:8000/admin/ após inserir suas credenciais de administrador definidas na etapa 1. Mais documentação está disponível em Icecast.org .

O Stream2ip é uma interface gráfica para iniciar e parar rapidamente fluxos onde já foi feita uma configuração básica para Ices2, Ices ou Darkice. / p>

Ices2 para streaming de áudio OGG Vorbis de uma placa de som local

Para configurar o pulseaudio para permitir a gravação da placa de som, veja a nota abaixo para o Darkice.

Crie diretórios para Ices2

mkdir /var/log/ices   # in case you need logfiles.  
mkdir /etc/ices2      # for putting ices stuff in.  

Edite a configuração do Ices2 .xml

Ices2 será executado usando um arquivo .xml para configurações. Exemplos verbosos de configurações podem ser encontrados em /usr/share/doc/ices2/examples/ . Esses arquivos precisam ser editados para atender às suas necessidades e podem ser copiados em qualquer lugar, melhor em seu diretório pessoal. Dependendo do arquivo de configuração, o Ices2 usa uma lista de reprodução no formato Ogg Vorbis ( ices-playlist.xml ) ou a saída da sua placa de som ( ices-alsa.xml ) como fonte de transmissão do Icecast2.

Na seção <input> você pode precisar substituir o dispositivo se tiver configurado seu sistema de som para o PulseAudio. Para isso, edite a linha correspondente para:

<param name="device">pulse</param>

O nome do fluxo para o cliente receptor é definido na seção a seguir.

<mount>/example1.ogg</mount>

Iniciar streaming

Fluxos de sua placa de som serão iniciados executando primeiro o servidor Icecast2 e executando Ices2 usando os seguintes comandos:

/etc/init.d/icecast2 start
ices2 /home/user/somewhere/ices-pulse.xml # or any other name from .xml file

Receptor de configuração

No lado do receptor, a sua "estação" de rádio sintoniza: <serverIP>:8000/example1.ogg onde <serverIP> é o IP do seu servidor de streaming seguido pela porta que você definiu no arquivo icecast.xml (padrão 8000).

Encerrar o streaming

Streams são finalizados matando Ices2 e / ou parando de executar o servidor Icecast2:

killall ices2
/etc/init.d/icecast2 stop

Ices para transmissão de playlists em mp3

Transmitir uma lista de reprodução contendo arquivos mp3 não pode ser feito com Ices2. Precisamos instalar IceS , que temos de instalar da fonte .

Depois de ter criado o arquivo de configuração com o endereço do servidor, senha e streaming de propriedades (exemplo bem documentado será encontrado em /usr/share/doc/ices/examples ) que pode transmitir arquivos de áudio MP3 a partir de listas de reprodução (por exemplo, em .m3u formato) ao longo de um servidor Icecast2 por :

/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>

Para mais opções, leia a documentação na man page bastante elaborada em man ices .

Darkice para transmissão ao vivo

Podemos transmitir a saída da placa de som local como OGG Vorbis ou fluxo de mp3 usando o Darkice . Para habilitar a transmissão da placa de som local, talvez seja necessário definir o dispositivo de gravação para o Darkice no pulseaudio primeiro. Isso pode ser feito com pavucontrol . Na Gravação guia escolha Monitor of <your soundcard> para o "plug-in ALSA [darkice]" .

O arquivo de configuração (exemplo bem documentado dado em /usr/share/doc/darkice/examples ) precisa ser adaptado ao servidor Icecast e ao ambiente de som local:

[general]
duration        = 0      # duration in s, 0 forever
bufferSecs      = 1      # buffer, in seconds
reconnect       = yes    # reconnect if disconnected

[input]
device          = default # or 'pulse' for Pulseaudio
sampleRate      = 44100   # sample rate 11025, 22050 or 44100
bitsPerSample   = 16      # bits
channel         = 2       # 2 = stereo

[icecast2-0]
bitrateMode     = vbr       # variable bit rate ('cbr' constant, 'abr' average)
quality         = 1.0       # 1.0 is best quality
format          = mp3       # format. Choose 'vorbis' for OGG Vorbis
bitrate         = 256       # bitrate
server          = localhost # or IP
port            = 8000      # port for IceCast2 access
password        = hackme    # source password to the IceCast2 server
mountPoint      = mystream.mp3  # mount point on the IceCast2 server .mp3 or .ogg
name            = mystream

Depois de salvar essa configuração (por exemplo, em ~/music/darkice.cfg ), primeiro executamos o servidor Icecast e, em seguida, podemos transmitir a saída pulseaudio da placa de som local invocando:

/etc/init.d/icecast2 start
darkice -c ~/music/darkice.cfg

No receptor, sintonizamos http://<localhost>:8000/mystream.mp3 para ouvir. <localhost> é o IP do servidor Icecast.

    
por Takkat 28.02.2011 / 23:51