2002-09-23 05:26:44 +00:00
|
|
|
WHAT IT IS
|
|
|
|
----------
|
2005-06-17 08:59:41 +00:00
|
|
|
This is GStreamer, a framework for streaming media.
|
|
|
|
|
|
|
|
This package is in the 0.9.x series. This means that this is a
|
|
|
|
development series leading up to a stable 0.10.x series.
|
|
|
|
You have been warned.
|
|
|
|
|
|
|
|
OVERVIEW
|
|
|
|
--------
|
|
|
|
GStreamer is split up over a number of modules, tarballs and packages:
|
|
|
|
|
|
|
|
- gstreamer:
|
|
|
|
The core. It contains the main library and header files, as well as
|
|
|
|
some fundamental elements. Every GStreamer project needs at least this
|
|
|
|
installed.
|
|
|
|
- gst-plugins-base:
|
|
|
|
A base set of plugins. This set is the set we actively keep synchronized
|
|
|
|
with the core and are also meant to serve as examples on how to write
|
|
|
|
GStreamer elements. It also contains a number of base classes for writing
|
|
|
|
GStreamer elements.
|
|
|
|
|
|
|
|
INSTALLING FROM PACKAGES
|
|
|
|
------------------------
|
|
|
|
You should always prefer installing from packages first. GStreamer is
|
|
|
|
well-maintained for a number of distributions, including Fedora, Debian,
|
|
|
|
Ubuntu, Mandrake, Gentoo, ...
|
|
|
|
|
|
|
|
Only in cases where you:
|
|
|
|
- want to hack on GStreamer
|
|
|
|
- want to verify that a bug has been fixed
|
|
|
|
- do not have a sane distribution
|
|
|
|
should you choose to build from source tarballs or CVS.
|
|
|
|
|
|
|
|
Find more information about the various packages at
|
|
|
|
http://gstreamer.freedesktop.org/download/
|
|
|
|
|
|
|
|
COMPILING FROM SOURCE TARBALLS
|
|
|
|
------------------------------
|
|
|
|
- again, make sure that you really need to install from source !
|
|
|
|
If GStreamer is one of your first projects ever that you build from source,
|
|
|
|
consider taking on an easier project.
|
|
|
|
|
2002-09-23 05:26:44 +00:00
|
|
|
- check output of ./configure --help to see if any options apply to you
|
|
|
|
- run
|
|
|
|
./configure
|
|
|
|
make
|
2001-04-29 17:59:40 +00:00
|
|
|
|
2002-09-23 05:26:44 +00:00
|
|
|
to build GStreamer.
|
|
|
|
- if you want to install it (not required), run
|
|
|
|
make install
|
|
|
|
- You should create a registry for things to work.
|
|
|
|
If you ran make install in the previous step, run
|
|
|
|
gst-register
|
|
|
|
as root.
|
|
|
|
|
|
|
|
If you didn't install, run
|
|
|
|
tools/gst-register
|
|
|
|
as a normal user.
|
|
|
|
|
|
|
|
- try out a simple test:
|
|
|
|
gst-launch fakesrc num_buffers=5 ! fakesink
|
|
|
|
(If you didn't install GStreamer, again prefix gst-launch with tools/)
|
|
|
|
|
|
|
|
If it outputs a bunch of messages from fakesrc and fakesink, everything is
|
|
|
|
ok.
|
|
|
|
|
|
|
|
- After this, you're ready to install gst-plugins, which will provide the
|
|
|
|
functionality you're probably looking for by now, so go on and read
|
|
|
|
that README.
|
|
|
|
|
|
|
|
COMPILING FROM CVS
|
|
|
|
------------------
|
|
|
|
When building from CVS sources, you will need to run autogen.sh to generate
|
|
|
|
the build system files.
|
2001-04-29 17:59:40 +00:00
|
|
|
|
2005-06-17 08:59:41 +00:00
|
|
|
You will need a set of additional tools typical for building from CVS,
|
|
|
|
including:
|
|
|
|
- autoconf
|
|
|
|
- automake
|
|
|
|
- libtool
|
2001-12-11 22:55:55 +00:00
|
|
|
|
2005-06-17 08:59:41 +00:00
|
|
|
autogen.sh will check for recent enough versions and complain if you don't have
|
2002-09-23 05:26:44 +00:00
|
|
|
them. You can also specify specific versions of automake and autoconf with
|
|
|
|
--with-automake and --with-autoconf
|
2002-04-12 09:53:00 +00:00
|
|
|
|
|
|
|
Check autogen.sh options by running autogen.sh --help
|
|
|
|
|
|
|
|
autogen.sh can pass on arguments to configure - you just need to separate them
|
|
|
|
from autogen.sh with -- between the two.
|
|
|
|
prefix has been added to autogen.sh but will be passed on to configure because
|
|
|
|
some build scripts like that.
|
|
|
|
|
2002-09-23 05:26:44 +00:00
|
|
|
When you have done this once, you can use autoregen.sh to re-autogen with
|
|
|
|
the last passed options as a handy shortcut. Use it.
|
|
|
|
|
|
|
|
After the autogen.sh stage, you can follow the directions listed in
|
|
|
|
"COMPILING FROM SOURCE"
|
2005-02-22 15:51:15 +00:00
|
|
|
|
2005-06-17 09:58:38 +00:00
|
|
|
You can also run your whole cvs stack uninstalled. The script in
|
|
|
|
the gstreamer module /docs/faq/gst-uninstalled) is helpful in setting
|
|
|
|
up your environment for this.
|
|
|
|
|
|
|
|
PLUG-IN DEPENDENCIES AND LICENSES
|
|
|
|
---------------------------------
|
|
|
|
GStreamer is developed under the terms of the LGPL (see LICENSE file for
|
|
|
|
details). Some of our plug-ins however rely on libraries which are available
|
|
|
|
under other licenses. This means that if you are using an application which
|
|
|
|
has a non-GPL compatible license (for instance a closed-source application)
|
|
|
|
with GStreamer, you have to make sure not to use GPL-linked plug-ins.
|
|
|
|
When using GPL-linked plug-ins, GStreamer is for all practical reasons
|
|
|
|
under the GPL itself.
|
|
|
|
|
2005-06-17 08:59:41 +00:00
|
|
|
HISTORY
|
|
|
|
-------
|
|
|
|
The fundamental design comes from the video pipeline at Oregon Graduate
|
|
|
|
Institute, as well as some ideas from DirectMedia. It's based on plug-ins that
|
|
|
|
will provide the various codec and other functionality. The interface
|
|
|
|
hopefully is generic enough for various companies (ahem, Apple) to release
|
|
|
|
binary codecs for Linux, until such time as they get a clue and release the
|
|
|
|
source.
|