GStreamer 101

23
GStreamer 101 Yuvi Panda http://yuvi.in

description

My GStreamer 101 talk at Gnome.asia 2011

Transcript of GStreamer 101

Page 1: GStreamer 101

GStreamer 101

Yuvi Pandahttp://yuvi.in

Page 2: GStreamer 101

Who the talk is for

GStreamer newbies

Page 3: GStreamer 101

What is GStreamer?

 

Page 4: GStreamer 101

Pipeline based Multimedia Framework

 

Page 5: GStreamer 101

Why use GStreamer?

 

Page 6: GStreamer 101

How do you hide a mountain?

SEP

Page 7: GStreamer 101

Language Bindings

C, C++, Python, C#, etc

Page 8: GStreamer 101

Codecs

Page 9: GStreamer 101

Containers

 

Page 10: GStreamer 101

Elements

 

Page 11: GStreamer 101

Source and Sink Elements

Page 12: GStreamer 101

Filters, Bins and Ghost Pads

Page 13: GStreamer 101

pipeline, decoders

Page 14: GStreamer 101

Multiple Pads

Page 15: GStreamer 101

Core Plugins

Base Plugins

Good` Plugins

Bad Plugins

Ugly Plugins

Where do elements live?

Page 16: GStreamer 101

Tools

gst-inspect-0.10

gst-launch-0.10

Debian Package: gstreamer-tools

Page 17: GStreamer 101

Examples

Using gst-launch-0.10

Using Python

Page 18: GStreamer 101

Play MP3

gst-launch-0.10 filesrc location="$FILEPATH" !

mad ! audioconvert ! audioresample ! autoaudiosink

Page 19: GStreamer 101

MP3 to OGG

gst-launch-0.10 filesrc location="$MP3FILE" !

mad ! audioconvert ! vorbisenc ! oggmux !

filesink location="$OGGFILE”

Page 20: GStreamer 101

Anything to OGG

gst-launch-0.10 filesrc location="$MP3FILE" !

decodebin2 ! audioconvert ! vorbisenc ! oggmux !

filesink location="$OGGFILE”

Page 21: GStreamer 101

Play Theora Video

gst-launch-0.10 filesrc location="$THEORASRC" !

oggdemux name=d d. ! queue ! theoradec ! ffmpegcolorspace !

ximagesink d. ! queue ! vorbisdec ! audioconvert ! audioresample !

autoaudiosink

Page 22: GStreamer 101

Python examples

Page 23: GStreamer 101

Thank you!