mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 15:18:21 +00:00
faq: update general section
Remove mention of the aRTSd and esd sound servers and such.
This commit is contained in:
parent
0f3b8f0144
commit
a224ca3afa
1 changed files with 49 additions and 29 deletions
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue