Então, nada como a prática para fazer entender como funcionam as coisas. Continuando o que eu vinha falando sobre Gstreamer, hoje vou mostrar como é fácil gerar um streaming de áudio via Shell.
Certifique-se de ter os seguintes pacotes instalados:
sudo aptitude install gstreamer0.10 gstreamer0.10-tools gstreamer0.10-pulseaudio
O Plano é o fazer o seguinte:
1. Captar o áudio da placa de som com PulseAudio
2. Enviar para o plugin AudioConverter
3. Codificar com VorbisEncoder
4. Encapsular com OggMux
5. Enviar para um servidor de streaming Icecast usando Shout2send
O Gstreamer instalará um aplicativo chamado gst-launch, é com ele que criaremos os pipelines para gerar nosso fluxo de áudio e transmiti-lo.
A sintaxe do gst-launch é a seguinte:
gst-launch pipeline ! pipeline ! pipeline
Trocando pelos pipes que queremos, a sintaxe do nosso comando ficaria assim
gst-launch pulsesrc ! audioconvert ! vorbisenc ! oggmux ! shout2send ip=localhost port=8000 password=hackme mount=teste.ogg
O Resultado no shell é assim:
Veja que o único pipe que tem atributos aqui é o shout2send, no caso é preciso especificar o ip/porta/mountpoint/password do servidor icecast que estamos enviando esse fluxo.
E o resultado no icecast é esse:
Fluxo transmitido com sucesso. A partir daí você pode inserir um player de áudio em qualquer site e usar esse fluxo como sua Rádio Web por exemplo.
Fontes:





[...] por a mão na massa, já falei como fazer um simples player usando Gstreamer, usando shell e pipes, agora vamos fazer o mesmo, mas usando uma linguagem de programação séria. [...]
vou tentar e ver se dar certo, ja to cansado de tentar com outros
e nao ter o resultado esperado .valeu.
Com Gstreamer funciona, já tenho experiência em transmitir com ele, qualquer coisa me manda um email.