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.