faq: update general section

Remove mention of the aRTSd and esd sound servers and such.
This commit is contained in:
Tim-Philipp Müller 2016-11-14 00:53:17 +00:00
parent 0f3b8f0144
commit a224ca3afa

View file

@ -5,7 +5,8 @@
No, GStreamer is a development framework for creating applications like
media players, video editors, streaming media broadcasters and so on.
That said, very good media players can easily be built on top of GStreamer
especially when using the high-level object called playbin.
especially when using the high-level APIs we provide such as `GstPlayer` or
the `playbin` and `playbin3` elements.
## Why is GStreamer written in C ? Why not C++/Objective-C/... ?
@ -27,16 +28,26 @@ of technical reasons why C is nice in this project:
- Use of C integrates nicely with Gtk+ and GNOME. Some people like
this a lot, but neither Gtk+ nor GNOME are required by GStreamer.
There are also historical reasons: When GStreamer was started, C++ and
free and open source C++ compilers were not as stable and mature as they
are today, and there was the desire to provide a certain degree of
API and ABI stability.
So, in closing, we like C. If you don't, that's fine; if you still want
to help out on GStreamer, we always need more language binding people.
And if not, don't bother us; we're working :-)
## What applications are available for GStreamer ?
## What kind of applications have been written in GStreamer?
Many media player applications have chosen GStreamer for their
backend. Also a couple of media format conversion tools have been
written using the powers of GStreamer. With the advent of GStreamer-0.10
several media editing applications have been started.
GStreamer has been designed from the start to be a general-purpose multimedia
framework that can be used to write all kinds of multimedia applications.
There are a huge number of media playback applications of course, but also
audio and video capture applications that record to file or live stream the
captured content. Audio CD and DVD backup applications. Media format conversion
and transcoding tools. Streaming servers, both for small embedded devices where
resource usage needs to be tightly controlled, and for servers where scalability
is key. And of course audio and video editing applications.
For a list of projects, look at the [application
list](http://gstreamer.freedesktop.org/apps/) on the GStreamer project
@ -44,6 +55,14 @@ website.
## Does GStreamer support the format of my media files?
GStreamer is plugin based and was designed to be extensible from the start,
so it can pretty much support any media format provided suitable plugins
are available.
It features demuxers, parsers and decoders for all common media formats and
hundreds of uncommon ones. If you have trouble playing back a file please
first make sure you have all the required plug-ins installed.
GStreamer aims to support every format imaginable, but that
doesn't mean the developers have managed to achieve that aim yet. If a
GStreamer enabled application doesn't play back your files, you can help
@ -57,14 +76,14 @@ provide:
- ways to obtain mediafiles in that format to test.
## What are the exact licensing terms for GStreamer and its plugins
?
## What are the exact licensing terms for GStreamer and its plugins?
All of GStreamer, including our own plugin code, is licensed
under the [GNU LGPL 2.1](http://www.gnu.org/licenses/lgpl-2.1.html)
license. Some of the libraries we use for some of the plugins are
however under the GPL, which means that those plugins can not be used by
a non-GPL-compatible application.
a non-GPL-compatible application. Those are few and far between though
and there are usually non-GPL alternatives available for those GPL libraries.
As part of the GStreamer source download you find a file called
LICENSE\_readme in gst-plugins package. That file contains information
@ -73,40 +92,40 @@ GStreamer aims at using only LGPL or BSD licensed libraries if available
and only use GPL or proprietary libraries where no good LGPL or BSD
alternatives are available.
From GStreamer 0.4.2 on, we implemented a license field for all of the
plugins, and in the future we might have the application enforce a
You can see the effective license of a plugin as license field in
`gst-inspect-1.0`. In the future we might have the application enforce a
stricter policy (much like tainting in the kernel).
## Is GStreamer a sound server ?
No, GStreamer is not a soundserver. GStreamer does however have
plugins supporting most of the major soundservers available today,
including pulseaudio, ESD, aRTSd, Jack and others.
including pulseaudio, Jack and others.
## Will GStreamer be available for platforms other than Unix ?
## Is GStreamer available for platforms other than Linux?
Depends. Our main target is the Unix platform. It also works on
Win32 and Mac OS X, but it may still be a bit challenging to get
everything up and running. That said, interest has been expressed in
porting GStreamer to other platforms and the GStreamer core team will
gladly accept patches to accomplish this.
Yes, GStreamer is a cross-platform multimedia framework that
works on all major operating systems, including but not limited to
Linux, Android, iOS, macOS, Windows, and *BSD, and there are official
SDK binary packages for Android, iOS, macOS and Windows made available
with every GStreamer release.
## What is GStreamer's relationship with the GNOME community ?
While GStreamer is operated as an independent project, we do have
GStreamer is an independent project, but we do traditionally have
a close relationship with the GNOME community. Many of our hackers
consider themselves also to be members of the GNOME community. GStreamer
is officialy bundled with the GNOME desktop, as lots of packages (like
gnome-media, totem and rhythmbox) are using it. This does not exclude
use of GStreamer by other communities at all, of course.
is officially bundled with the GNOME desktop, as lots of GNOME applications
are using it. This does not exclude use of GStreamer by other communities
at all, of course.
## What is GStreamer's relationship with the KDE community ?
The GStreamer community wants to have as good a relationship as
possible with KDE, and we hope that someday KDE decides to adopt
GStreamer as their multimedia API (planned for KDE 4). There have been
contacts from time to time between the GStreamer community and KDE and
we do already have support for the aRTSd sound server used by KDE. Also,
GStreamer as their multimedia platform. There have been contacts
from time to time between the GStreamer community and KDE and
GStreamer is used by various KDE and Qt multimedia APIs. Also,
some of the KDE hackers have created Qt bindings of GStreamer, made a
simple video player and using it in some audio players (JuK and AmaroK).
@ -115,11 +134,12 @@ simple video player and using it in some audio players (JuK and AmaroK).
That doesn't really make sense. GStreamer is not a sound server,
so you don't output directly to GStreamer, and it's not an intermediate
API between audio data and different kinds of audio sinks. It is a
fundamental design decision to use GStreamer in your app; there are no
easy ways of somehow 'transfering' data from your app to GStreamer.
Instead, your app would have to use or implement a number of GStreamer
fundamental design decision to use GStreamer in your application; there are
no easy ways of somehow 'transfering' data from your app to GStreamer (well,
there are of course, but they would be reserved for special use cases).
Instead, your application would have to use or implement a number of GStreamer
elements, string them together, and tell them to run. In that manner the
data would all be internal to the GStreamer pipeline.
That said, it is possible to write a plugin specific to your app that
can get at the audio data.
can get at the audio or video data.