Using UDP Multicast with GStreamer
In this document you will find how to create a network connection using multicast in order for transmit audio and/or video streaming.
Audio Multicast Streaming
In this section it will be shown how to build a GStreamer pipe for transmit audio information through a multicast network.
The pipes used are the following
Server:
gst-launch-0.10 filesrc location=<file.mp3> ! mad ! audioconvert ! audioresample ! mulawenc ! rtppcmupay ! udpsink host=<multicast IP address> auto-multicast=true port=<port number>
Client:
gst-launch-0.10 udpsrc multicast-group=<multicast IP address> auto-multicast=true port=<port number> caps="application/x-rtp" ! rtppcmudepay ! mulawdec ! alsasink
On the server side we first used a filesrc element to set the media audio file we will play (this pipe is only for MP3 audio files), then the file content is passed through a mad decoder in order to get the audio in raw format. Then we passed this audio through an audioconvert and an audioresample, this converts the audio to raw audio with a sample rate of 8KHz which is the sample rate necessary to decode the audio to mu-law using the mulawdec element.
Before we send the audio through the network it is necessary to package it into a rtp package with the correct payload.