| GStreamer | |
|---|---|
| Latest release | 0. A software release is the distribution whether public or private of an initial or new and upgraded version of a Computer software product 10. 19 / 3 April 2008 |
| Written in | C |
| OS | Cross-platform |
| Genre | Multimedia framework |
| License | GNU Lesser General Public License |
| Website | http://gstreamer.freedesktop.org/ |
GStreamer is a multimedia framework written in the C programming language with the type system based on GObject. Events 1043 - Edward the Confessor is crowned King of England. 2008 ( MMVIII) is the current year in accordance with the Gregorian calendar, a Leap year that started on Tuesday of the Common A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer. tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination In computing cross-platform (also known as multi-platform) is a term used to refer to Computer software or computing methods and concepts that are implemented Computer software can be organized into categories based on common function type or field of use A Multimedia Framework (MMF is a Software framework that handles media on a computer and through a network A software license (or software licence in commonwealth usage is a Legal instrument governing the usage or redistribution of copyright protected software The GNU Lesser General Public License (formerly the GNU Library General Public License) or LGPL is a Free software license published by the Free Software A website (alternatively web site or Web site, a back-construction from the Proper noun World Wide Web) is a collection of Web pages A Multimedia Framework (MMF is a Software framework that handles media on a computer and through a network tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured The GLib Object System, or GObject, is a free Software library (covered by the LGPL) that provides a portable Object system GStreamer serves a host of multimedia applications, such as video editors, streaming media broadcasters, and media players. Designed to be cross-platform, it is known to work on Linux (x86, PowerPC and ARM), Solaris (x86 and SPARC), Mac OS X, Microsoft Windows and OS/400. In computing cross-platform (also known as multi-platform) is a term used to refer to Computer software or computing methods and concepts that are implemented Linux (commonly pronounced ˈlɪnəks See also X86 assembly language The generic term x86 refers to the most commercially successful Instruction set architecture in the history of Personal PowerPC is a RISC Instruction set architecture created by the 1991 Apple – IBM – Motorola alliance known as AIM The ARM architecture (previously the Advanced RISC Machine, and prior to that Acorn RISC Machine) is a 32-bit RISC processor architecture Solaris is a Unix -based Operating system introduced by Sun Microsystems in 1992 as the successor to SunOS. SPARC (from Scalable Processor Architecture is a RISC Microprocessor Instruction set architecture originally Mac OS X (mæk oʊ ɛs tɛn is a line of computer Operating systems developed marketed and sold by Apple Inc, the latest of which is pre-loaded on all currently Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. IBM i is an Operating system used on IBM Power Systems, a unified server platform from the former IBM System i and IBM System p servers GStreamer has bindings for programming-languages like Python, C++, Perl, GNU Guile and Ruby. Python is a general-purpose High-level programming language. Its design philosophy emphasizes programmer productivity and code readability C++ (" C Plus Plus " ˌsiːˌplʌsˈplʌs is a general-purpose Programming language. NOTES FOR EDITORS "Perl" is not an acronym (read the "Name" section below GNU Guile is an interpreter / Virtual machine for the Scheme programming language. Ruby is a dynamic, reflective, general purpose Object-oriented programming language that combines syntax inspired by Perl with Smalltalk GStreamer is free software, licensed under the GNU Lesser General Public License. Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified The GNU Lesser General Public License (formerly the GNU Library General Public License) or LGPL is a Free software license published by the Free Software
Contents |
The GNOME desktop environment, the primary user of GStreamer technology, has included GStreamer since GNOME version 2. A gnome is a Mythical creature characterized by its extremely small size and subterranean lifestyle In graphical computing a desktop environment ( DE) commonly refers to a style of Graphical user interface (GUI that is based on the Desktop metaphor which 2 and encourages GNOME and GTK+ applications to use it. Other projects also use it, such as Chameleo media platform, Phonon and the Songbird media player. Chameleo is a media platform with support for rich video playback Phonon is the multimedia API for KDE 4. Phonon was created to allow KDE 4 to be independent of any single multimedia framework such as GStreamer or Songbird is a Free software media player and Web browser developed by a group known as Pioneers of the Inevitable (with members who previously
GStreamer also operates in embedded devices like the Nokia 770, N800 and N810 Internet Tablets running the Internet Tablet OS. The Nokia 770 Internet Tablet is a wireless Internet appliance from Nokia, originally announced at the LinuxWorld Summit in New York City on The Nokia N800 Internet Tablet is a wireless Internet appliance from Nokia, originally announced at the Las Vegas CES 2007 Summit The Nokia N810 Internet Tablet is an Internet appliance from Nokia, announced on October 17 2007 at the Web 2
Erik Walthinsen founded the GStreamer project in 1999. Many of its core design ideas came from a research project at the University of Oregon. The University of Oregon (UO is a public, Coeducational Research university in Eugene Oregon, United States. Wim Taymans joined the project soon thereafter and greatly expanded on many aspects of the system. Wim Taymans (full name Wim Odilia Georges Taymans) is a software developer and Belgian national based in Barcelona, Spain. Many others around the world have contributed to various degrees since then. Brock A. Frazier designed the GStreamer logo; Frazier worked for an embedded Linux company called RidgeRun, which also became the first corporate sponsor of GStreamer in the form of hiring Erik Walthinsen to develop methods for embedding GStreamer in smaller (cell phone-class) devices.
freedesktop.org hosts the GStreamer project, which accordingly aims to improve interoperability and to share technology between free desktops. Wim Taymans, as of 2007, maintains GStreamer.
The 0. 10 series is developed since end of 2005 [1]. It is API and ABI stable since. In Computer software, an application binary interface ( ABI) describes the low-level interface between an application program and the Operating system
A bin or pipeline consists of elements which are provided by plugins. In Software engineering, a pipeline consists of a chain of processing elements ( processes, threads, Coroutines etc. This exemplifies a filter graph. A filter graph is used in Multimedia processing For example to capture video from a Webcam. Bins can contain other bins to form a hierarchical graph. Elements contain pads such as "source" and "sink". Pad or PAD can be either a word an Abbreviation or a Three letter acronym. Data flows through the pipeline in a single direction. Pads have capabilities called "caps".
The diagram to the right could exemplify playing an MP3 file using GStreamer. MPEG-1 Audio Layer 3, more commonly referred to as MP3, is a Digital audio encoding format using a form of Lossy data compression The file source reads an MP3 file from a computer's hard-drive and sends it to the MP3 decoder. The decoder decodes the file data and converts it into PCM samples which then pass to the ALSA sound-driver. Advanced Linux Sound Architecture (known by the Acronym ALSA) is a Linux kernel component intended to replace the original Open Sound System The ALSA sound-driver sends the PCM sound samples to the computer's speakers.
GStreamer uses a plugin architecture which makes the most of GStreamer's functionality implemented as shared libraries. In Computer science, a library is a collection of Subroutines used to develop Software. GStreamer's base functionality contains functions for registering and loading plugins and for providing the fundamentals of all classes in the form of base classes. In Computer science, a superclass is a class from which other classes are derived Plugin libraries get dynamically loaded to support a wide spectrum of codecs, container formats, input/output drivers and effects. A codec is a device or program capable of encoding and/or decoding a Digital Data stream or signal. A container format is a computer file format that can contain various types of data compressed by means of standardized audio/video codecs. In computing a device driver or software driver is a Computer program allowing higher-level computer programs to interact with a Hardware device
Plugins can be installed semiautomatically when they are first needed. For that purpose distributions can register a backend that resolves feature-descriptions to package-names.
Since version 0. 10 the plugins come grouped into three sets (named after the film The Good, the Bad and the Ugly),
| Plugin set name | Description |
|---|---|
| Good | This package contains the GStreamer plugins from the "good" set, a set of good-quality plug-ins under the LGPL license. The Good the Bad and the Ugly ( Il Buono il Brutto il Cattivo) is a 1966 Italian epic Spaghetti western film directed [2] or according to Gstreamer, "contains a set of well-supported plug-ins under our preferred license"[3] |
| Bad | GStreamer Bad Plug-ins comprises a set of plug-ins not up-to-par compared to the rest. They might closely approach good-quality plugins, but they lack something: perhaps a good code review, some documentation, a set of tests, a real live maintainer, or some actual wide use. [4] |
| Ugly | This packages contains plugins from the "ugly" set, a set of good-quality plug-ins that might pose distribution problems[5] |
Individual distributions may further sub-classify these plugins: for example Ubuntu groups the "bad" and "ugly" sets into the "Universe" or the "Multiverse" components. Ubuntu Kubuntu Edubuntu Xubuntu Gobuntu --> Ubuntu Ubuntu Kubuntu Edubuntu Xubuntu Gobuntu --> Ubuntu