background preloader

Gstreamer

Facebook Twitter

Gst-player - Very simple GStreamer media player. When would you want to force a thread? We have seen that threads are created by elements but it is also possible to insert elements in the pipeline for the sole purpose of forcing a new thread in the pipeline.

When would you want to force a thread?

There are several reasons to force the use of threads. However, for performance reasons, you never want to use one thread for every element out there, since that will create some overhead. Let's now list some situations where threads can be particularly useful: Data buffering, for example when dealing with network streams or when recording data from a live stream such as a video or audio card. Short hickups elsewhere in the pipeline will not cause data loss. Above, we've mentioned the “queue” element several times now. To use a queue (and therefore force the use of two distinct threads in the pipeline), one can simply create a “queue” element and put this in as part of the pipeline.

GStreamer Application Development Manual (1.0.3) KRASH: Reproducible CPU Load Generation for Linux. LTTng Project. GStreamer. Distribution and adoption[edit] GStreamer also operates in embedded devices like the Palm Pre,[5] Tizen and the Nokia 770, N800, N810, N900 and N9 Internet Tablets running the Maemo operating system.

GStreamer

GStreamer is also distributed by Collabora and Fluendo as a free and open source multiplatform SDK, available on gstreamer.com (rather than gstreamer.freedesktop.org for the upstream community project). Developers working with the SDK will find it to be functionally identical on Windows, Mac OS X, iOS, Android and all supported Linux platforms. The SDK initiative aims to facilitate the commercial adoption of the GStreamer project, as it provides a standardized entry point to developing multimedia applications with GStreamer, without needing to build the entire platform by oneself. Users of the SDK also benefit from additional documentation, tutorials and instructions for installing and getting started with GStreamer. Technical overview[edit] Elements communicate by means of pads. FFmpeg. Gst-launch-0.10(1. Installing GStreamer plug-ins. Installing GStreamer plugins on Fedora Linux On Fedora Linux, most gstreamer plugins are available in packages whose names start with gstreamer-plugins-.

Installing GStreamer plug-ins

You can use yum to search for matching packages available to install. For example, if you want to install the schroedinger plugin: Xiph.org. Gstreamer. GStreamer est, en bref, un moteur utilisé par d'autres applications pour lire les fichiers multimédia.

gstreamer

Il est produit sous licence LGPL. De façon plus détaillée, GStreamer est une collection de bibliothèques permettant la connexion de composants de gestion de média, allant de la simple lecture Ogg/Vorbis à de l'édition audio complexe (mixage) et vidéo (édition non linéaire). Les applications peuvent ainsi profiter des avancées technologiques faites au niveau des codecs et des filtres de manière totalement transparente. Les développeurs peuvent ajouter des nouveaux codecs et filtres en écrivant de simples greffons avec une interface générique propre. Installation GStreamer est installé de base sous Ubuntu mais il faudra suivant vos besoin installer des greffons de gstreamer, permettant de décoder des codecs vidéos ou audios qui ne sont pas lisibles par défaut : voir plus bas. Il s'agit d'un dépôt non officiel. . Building GStreamer and GStreamer Applications. Building GStreamer on UNIX On UNIX, GStreamer uses the standard GNU build system, using autoconf for package configuration and resolving portability issues, automake for building makefiles that comply with the GNU Coding Standards, and libtool for building shared libraries on multiple platforms.

Building GStreamer and GStreamer Applications

The normal sequence for compiling and installing the GStreamer library is thus: . /configure make make install The standard options provided by GNU autoconf may be passed to the configure script. In addition there are several options to activate or deactivate features. If library size matters and one builds in a controlled environment, it is also possible to totally remove subsystem code.

Running GStreamer Applications. Environment variables GStreamer inspects a few of environment variables in addition to standard variables like LANG, PATH or HOME.

Running GStreamer Applications

GST_PLUGIN_SYSTEM_PATH, GST_PLUGIN_SYSTEM_PATH_1_0. This environment variable can be set to a colon-separated list of paths. Debugging. Applications can make use of the extensive GStreamer debugging system to debug pipeline problems.

Debugging

Elements will write output to this system to log what they're doing. It's not used for error reporting, but it is very useful for tracking what an element is doing exactly, which can come in handy when debugging application issues (such as failing seeks, out-of-sync media, etc.). Most GStreamer-based applications accept the commandline option --gst-debug=LIST and related family members. The list consists of a comma-separated list of category/level pairs, which can set the debugging level for a specific debugging category.

For example, --gst-debug=oggdemux:5 would turn on debugging for the Ogg demuxer element. GStreamer: Documentation. General GStreamer Plugins-Base Module Libraries Reference GStreamer Plugins-Bad Module Libraries Reference Note: The API from these libraries is unstable and can change between releases.Only the API in libraries from GStreamer core and plugins base are guaranteed to be API and ABI stable Plugin Modules Other modules.

GStreamer: Documentation