Attached is an article written by my students of the Technological Institute of Costa Rica. They develop a demo of audio streaming using live555 as the RTSP server and a Gstreamer pipe as a client running on the Leopard Board.
This article also brings an introduction to Gstreamer and its foundations like the concepts of element, pad, pipe, bin, etc.
In order to run this demo you should install live55MediaServer on your host machine and run it in the directory where you have mp3 files:
$ ./live555MediaServer LIVE555 Media Server version 0.25 (LIVE555 Streaming Media library version 2009.02.25).Play streams from this server using the URL rtsp://192.168.0.100:8554/<filename>where <filename> is a file present in the current directory.Each file's type is inferred from its name suffix: ".aac" => an AAC Audio (ADTS format) file ".amr" => an AMR Audio file ".m4e" => a MPEG-4 Video Elementary Stream file ".mp3" => a MPEG-1 or 2 Audio file ".mpg" => a MPEG-1 or 2 Program Stream (audio+video) file ".ts" => a MPEG Transport Stream file (a ".tsx" index file - if present - provides server 'trick play' support) ".wav" => a WAV Audio fileSee http://www.live555.com/mediaServer/ for additional documentation.
Now you should run the following pipe to get the audio stream on the Leopard Board, so you will be able to hear the audio in Speakers plugged to the Leopard Board.
/ # gst-launch-0.10 rtspsrc location=rtsp://192.168.0.100:8554/file.mp3 ! rtpmpadepay ! mad ! audioresample ! autoaudiosinkSetting pipeline to PAUSED ...Pipeline is live and does not need PREROLL ...Setting pipeline to PLAYING ...New clock: GstSystemClock
Please read the article for more information.
-- Miguel AguilarEmbedded Software EngineerRidgeRun Embedded Solutions
Attached is the C source code of RTSP client gstreamer pipe.