2004-01-28 15:08:17 +00:00
|
|
|
<chapter id="chapter-intro">
|
2000-08-16 21:38:57 +00:00
|
|
|
<title>Introduction</title>
|
|
|
|
<para>
|
|
|
|
This chapter gives you an overview of the technologies described in this
|
|
|
|
book.
|
|
|
|
</para>
|
|
|
|
|
2004-01-28 15:08:17 +00:00
|
|
|
<sect1 id="section-intro-what">
|
2000-08-16 21:38:57 +00:00
|
|
|
<title>What is GStreamer?</title>
|
|
|
|
<para>
|
|
|
|
GStreamer is a framework for creating streaming media applications.
|
|
|
|
The fundamental design comes from the video pipeline at Oregon Graduate
|
|
|
|
Institute, as well as some ideas from DirectShow.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2002-06-11 16:06:10 +00:00
|
|
|
GStreamer's development framework makes it possible to write any type of
|
2003-10-09 12:42:49 +00:00
|
|
|
streaming multimedia application. The GStreamer framework is designed
|
|
|
|
to make it easy to write applications that handle audio or video or both.
|
|
|
|
It isn't restricted to audio and video, and can process any kind of
|
|
|
|
data flow.
|
|
|
|
The pipeline design is made to have little overhead above what the
|
|
|
|
applied filters induce. This makes GStreamer a good framework for designing
|
|
|
|
even high-end audio applications which put high demands on latency.
|
2000-08-16 21:38:57 +00:00
|
|
|
</para>
|
|
|
|
|
2001-01-04 23:35:50 +00:00
|
|
|
<para>
|
2002-09-06 16:10:31 +00:00
|
|
|
One of the the most obvious uses of GStreamer is using it to build
|
|
|
|
a media player. GStreamer already includes components for building a
|
|
|
|
media player that can support a very wide variety of formats, including
|
2003-10-09 12:42:49 +00:00
|
|
|
MP3, Ogg Vorbis, MPEG1, MPEG2, AVI, Quicktime, mod, and more. GStreamer,
|
2002-09-06 16:10:31 +00:00
|
|
|
however, is much more than just another media player. Its main advantages
|
|
|
|
are that the pluggable components can be mixed and matched into arbitrary
|
|
|
|
pipelines so that it's possible to write a full-fledged video or audio
|
|
|
|
editing application.
|
2001-01-04 23:35:50 +00:00
|
|
|
</para>
|
|
|
|
|
2000-08-16 21:38:57 +00:00
|
|
|
<para>
|
2002-04-07 23:32:16 +00:00
|
|
|
The framework is based on plugins that will provide the various codec
|
2003-01-24 18:08:39 +00:00
|
|
|
and other functionality. The plugins can be linked and arranged in
|
2001-01-04 23:35:50 +00:00
|
|
|
a pipeline. This pipeline defines the flow of the data. Pipelines can
|
|
|
|
also be edited with a GUI editor and saved as XML so that pipeline
|
|
|
|
libraries can be made with a minimum of effort.
|
2000-08-16 21:38:57 +00:00
|
|
|
</para>
|
|
|
|
|
2001-07-07 15:30:39 +00:00
|
|
|
<para>
|
|
|
|
The GStreamer core function is to provide a framework for plugins, data flow
|
|
|
|
and media type handling/negotiation.
|
|
|
|
It also provides an API to write applications using the various plugins.
|
|
|
|
</para>
|
|
|
|
|
2000-08-16 21:38:57 +00:00
|
|
|
<para>
|
|
|
|
This book is about GStreamer from a developer's point of view; it describes
|
|
|
|
how to write a GStreamer application using the GStreamer libraries and tools.
|
2002-07-24 19:46:42 +00:00
|
|
|
For an explanation about writing plugins, we suggest the Plugin Writers Guide.
|
2000-08-16 21:38:57 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|