Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

Example GStreamer Pipelines

2,946 bytes added, 10:16, 31 December 2013
m
Loopback: Audio
== Notes ==
 
In order to make the next examples work I had to install (apt-get install <package>) the following packages on the target
*gstreamer0.10-tools
*gstreamer0.10-plugins-base
*gstreamer0.10-alsa for alsasrc and alsasink
*gstreamer0.10-plugins-ugly for mad
Perhaps also install gstreamer0.10-plugins-good and gstreamer0.10-plugins-bad...
 
For all examples I had to perform gst-launch-0.10 in stead of gst-launch.
<br>When using the pipelines that use the TI codecs on the DSP, make sure you execute the
gst-launch command in the directory were the codec server (cs.x64P) is present.
<br>You may also make a link to the codecserver in the directory were you execute your command.
<br>
If you do not do this you will get an error like ''gst-launch-0.10: BufTab.c:440: BufTab_getNumBufs: Assertion `hBufTab' failed''
 
== Purpose ==
</pre>
=== Loopback: Audio ===
 
In order to have access to the alsasrc and alsasink plugins perform a 'apt-get install gstreamer0.10-alsa' on the igep board.
<br>
<pre>gst-launch audiotestsrc freq=1000 num-buffers=100&nbsp;! alsasink
</pre>
<pre>mv /etc/asound.conf /etc/asound.conf.orig
</pre>
to move the ALSA configuration file out of the way.
=== Loopback: Audio+Video ===
<pre>gst-launch udpsrc port=5555 caps="application/x-rtp"&nbsp;! queue&nbsp;! rtppcmudepay&nbsp;! mulawdec&nbsp;! audioconvert&nbsp;! alsasink
</pre>
The above example experienced dropped audio, please update pipeline when you get it working properly.
<br> Case 2: sending audio from Ubuntu host to target (BeagleBoard)
<pre>gst-launch udpsrc port=5555 caps="application/x-rtp"&nbsp;! queue&nbsp;! rtppcmudepay&nbsp;! mulawdec&nbsp;! audioconvert&nbsp;! alsasink
</pre>
The above example experienced dropped audio, please update pipeline when you get it working properly.<br>I had the same problem using my IGEP WLAN interface. After direct connect with Ethernet cable the dropped audio problem was solved. I also used these pipelines:<br>On host:<pre>gst-launch filesrc location=DownUnder.mp3 ! mad ! audioconvert ! audio/x-raw-int,channels=1,depth=16,width=16,\rate=44100 ! rtpL16pay ! udpsink host=192.168.2.8 port=5000</pre>On target:<pre>gst-launch udpsrc port=5000 ! “application/x-rtp, media=(string)audio, clock-rate=44100, width=16, height=16, \encoding-name=(string)L16,encoding-params=(string)1, channels=(int)1, channel-position=(int)1, payload=(int)96” ! \gstrtpjitterbuffer do-lost=true ! rtpL16depay ! audioconvert ! alsasink sync=false</pre> And if you want to multicast your stream to multiple computers try this one: On host:<pre>gst-launch filesrc location=DownUnder.mp3 ! mad ! audioconvert ! audio/x-raw-int,channels=1,depth=16,width=16, \rate=44100 ! rtpL16pay ! udpsink host=224.0.0.15 port=5000</pre> On multiple targets:<pre>gst-launch-0.10 udpsrc port=5000 ! "application/x-rtp,media=(string)audio, clock-rate=(int)44100, width=16, height=16,\ encoding-name=(string)L16, encoding-params=(string)1, channels=(int)1, channel-positions=(int)1, payload=(int)96" ! \gstrtpjitterbuffer do-lost=true ! rtpL16depay ! audioconvert ! alsasink sync=false</pre>
==== H.264 RTP Streaming ====
<pre>bootargs-base=mem=430M console=ttyS2,115200n8 console=tty0 omapfb.mode=dvi:1280x720MR-16@60 vram=32M omapfb.vram=0:8M,1:16M,2:8M
</pre>
<br> == Performance == Here are some test results I measured on my IGEPV2 board.<br>Decoding an aac music file using software decoder (faad) requires 60% load (top output).<br>Decoding the same file using the DSP TI framework results in 4% CPU load (top output) and 176kbps / 21 fps DSP "load" (dmaiperf output).<br><br>To get performance figures from the DSP add dmaiperf in the pipeline.<br><br>I used the following pipelines:<br> *gst-launch -v filesrc location=sample.aac ! faad ! audioconvert ! audioresample ! alsasink *gst-launch -v filesrc location=sample.aac ! TIAuddec1 codecName=aachedec engineName=codecServer ! dmaiperf ! alsasink sync=false  [[Category:DMAI_GStreamer_Plug-InGstreamer]] [[Category:GstreamerSoftware applications]]
4,199
edits