Gstreamer – Um simples pipeline para transmitir áudio

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:

http://gstreamer.freedesktop.org

3 respostas para Gstreamer – Um simples pipeline para transmitir áudio

  1. [...] 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. [...]

  2. 70x7 disse:

    vou tentar e ver se dar certo, ja to cansado de tentar com outros
    e nao ter o resultado esperado .valeu.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.