Revision as of 06:48, 8 February 2012 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Maemo multimedia applications - Part I

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Created: User:Raulherbster (21 Sep 2008)
Last edited: hamishwillee (08 Feb 2012)
28 Sep

As explained in the article GStreamer, most Maemo multimedia applications are developed using the GStreamer framework. If GStreamer is installed on your desktop (or Internet Tablet), you can use two important command line tools that help the development of GStreamer applications: gst-inspect and gst-launch.


The gst-inspect shows the description of GStreamer plug-ins and elements that are installed on your machine; otherwise, an error will occur because a GStreamer-based application cannot find a certain element that is used to decode a MP3 file, for example. If you execute gst-inspect without arguments, it will list all plug-ins and elements installed on your machine, as in the following output:

user@desktop:~$ gst-inspect
jrtp:  rtpbin: RTP Bin
jrtp:  rtprecv: JRTP Session
jrtp:  rtpsend: JRTP Session
gstrtpmanager:  gstrtpbin: RTP Bin
gstrtpmanager:  gstrtpclient: RTP Client
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer
gstrtpmanager:  gstrtpptdemux: RTP Demux
gstrtpmanager:  gstrtpsession: RTP Session
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux
schro:  schroparse: Dirac Parser
schro:  schrodec: Dirac Decoder
schro:  schroenc: Dirac Encoder
schro:  schrotoy: Video Filter Template
siddec:  siddec: Sid decoder
realmedia:  rdtdepay: RDT packet parser
realmedia:  rademux: RealAudio Demuxer
realmedia:  rmdemux: RealMedia Demuxer
mpegstream:  dvddemux: DVD Demuxer
mpegstream:  mpegdemux: MPEG Demuxer
mpegstream:  mpegparse: MPEG System Parser
mpegaudioparse:  mp3parse: MPEG1 Audio Parser
mpeg2dec:  mpeg2dec: mpeg1 and mpeg2 video decoder

Futhermore, if you want more description about a certain plug-in or element (name, libs, properties, etc.), you can execute the gst-inspect command with the name of the plug-in or element you are looking for. For example:

user@desktop:~$ gst-inspect mpeg2dec
Factory Details:
 Long name:    mpeg1 and mpeg2 video decoder
 Class:        Codec/Decoder/Video
 Description:  Uses libmpeg2 to decode MPEG video streams
 Author(s):    Wim Taymans <wim.taymans@chello.be>
 Rank:         secondary (128)
Plugin Details: Name: mpeg2dec Description: LibMpeg2 decoder Filename: /usr/lib/gstreamer-0.10/libgstmpeg2dec.so Version: 0.10.6 License: GPL Source module: gst-plugins-ugly Binary package: GStreamer Ugly Plugins (Ubuntu) Origin URL: https://launchpad.net/ubuntu/+source/gst-plugins-ugly0.10


The gst-launch builds and runs a GStreamer pipeline. It helps the programmer to test if a certain pipeline really works. For example, we can use gst-launch to build and run a very simple pipeline with the playbin element (you can see more information about it by running gst-inspect playbin).

user@desktop:~$ gst-launch playbin uri="file:///home/user/Videos/myvideo.avi"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
No accelerated IMDCT transform found
sh: jackd: not found
Caught interrupt -- Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...

The argument uri is a property of the playbin element (you can check it with the gst-inspect command) that tells the URI of the media to play. You can also notice the pipeline state chaging: PAUSE, PLAYING, etc. More complex GStreamer pipelines can be created with the gst-launch command.

See also

This page was last modified on 8 February 2012, at 06:48.
102 page views in the last 30 days.