gstreamer/Tutorials.markdown

78 lines
3.1 KiB
Markdown
Raw Normal View History

2016-05-17 14:52:21 +00:00
# Tutorials
2016-05-16 14:30:34 +00:00
2016-05-17 14:52:21 +00:00
## Welcome to the GStreamer SDK Tutorials!
2016-05-16 14:30:34 +00:00
The following sections introduce a series of tutorials designed to help
you learn how to use GStreamer, the multi-platform, modular,
open-source, media streaming framework.
### Prerequisites
Before following these tutorials, you need to set up your development
environment according to your platform. If you have not done so yet,
2016-05-17 14:52:21 +00:00
follow the appropriate link for [Linux](Installing+on+Linux.markdown),
[Mac OS X](Installing+on+Mac+OS+X.markdown) or
[Windows](Installing+on+Windows.markdown) and come back here
afterwards.
2016-05-16 14:30:34 +00:00
The tutorials are currently written only in the C programming language,
so you need to be comfortable with it. Even though C is not an
Object-Oriented (OO) language per se, the GStreamer framework uses
`GObject`s, so some knowledge of OO concepts will come in handy.
2016-05-17 14:52:21 +00:00
Knowledge of the `GObject` and `GLib` libraries is not mandatory, but
2016-05-16 14:30:34 +00:00
will make the trip easier.
### Source code
Every tutorial represents a self-contained project, with full source
code in C (and eventually in other languages too). Source code snippets
are introduced alongside the text, and the full code (with any other
required files like makefiles or project files) is distributed with the
SDK, as explained in the installation instructions.
### A short note on GObject and GLib
2016-05-17 14:52:21 +00:00
GStreamer is built on top of the `GObject` (for object orientation) and
`GLib` (for common algorithms) libraries, which means that every now and
2016-05-16 14:30:34 +00:00
then you will have to call functions of these libraries. Even though the
tutorials will make sure that deep knowledge of these libraries is not
required, familiarity with them will certainly ease the process of
learning GStreamer.
You can always tell which library you are calling because all GStreamer
2016-05-17 14:52:21 +00:00
functions, structures and types have the `gst_` prefix, whereas GLib and
2016-05-16 14:30:34 +00:00
GObject use `g_`.
### Sources of documentation
2016-05-17 14:52:21 +00:00
You have the `GObject` and `GLib` reference guides, and, of course the
upstream [GStreamer
2016-05-16 14:30:34 +00:00
documentation](http://gstreamer.freedesktop.org/documentation/).
### Structure
The tutorials are organized in sections, revolving about a common theme:
2016-05-17 14:52:21 +00:00
- [Basic tutorials](Basic+tutorials.markdown): Describe general topics
2016-05-16 14:30:34 +00:00
required to understand the rest of tutorials in the GStreamer SDK.
2016-05-17 14:52:21 +00:00
- [Playback tutorials](Playback+tutorials.markdown): Explain everything
2016-05-16 14:30:34 +00:00
you need to know to produce a media playback application using
GStreamer.
2016-05-17 14:52:21 +00:00
- [Android tutorials](Android+tutorials.markdown): Tutorials dealing
2016-05-16 14:30:34 +00:00
with the few Android-specific topics you need to know.
2016-05-17 14:52:21 +00:00
- [iOS tutorials](iOS+tutorials.markdown): Tutorials dealing with the
2016-05-16 14:30:34 +00:00
few iOS-specific topics you need to know.
If you cannot remember in which tutorial a certain GStreamer concept is
explained, use the following:
2016-05-17 14:52:21 +00:00
- [Table of Concepts](Table+of+Concepts.markdown)
2016-05-16 14:30:34 +00:00
### Sample media
The audio and video clips used throughout these tutorials are all
publicly available and the copyright remains with their respective
authors. In some cases they have been re-encoded for demonstration
2016-05-17 14:52:21 +00:00
purposes.
2016-05-16 14:30:34 +00:00
- [Sintel, the Durian Open Movie Project](http://www.sintel.org/)