This is for the developers who can maintain multiple versions of the library, can play around with their API.
Any feedback welcome!
Important and required repositories are:
Following and some more can be compiled based on requirements:
gst-plugins-gl (Gstreamer OpenGL Module library is merged in gst-plugins-bad since 1.4. Even if you try to build it, you will see following error. So don't build it if you are working with gstreamer release > 1.4.
================================
The GStreamer OpenGL module library and plugin have been merged into
gst-plugins-bad version 1.4 and later.
This git module is therefore obsolete now and should no longer be used.
================================
Clone them in your favourite directory.
Example:
git clone git://anongit.freedesktop.org/gstreamer/gstreamer
I will install libraries in a separate directory
"gst-install". So that it doesn't mess up with system wide gstreamer installation.
So you will have following directories:
gst-install/ --> my install dir
gstreamer/
gst-plugins-bad/
gst-plugins-base/
gst-plugins-good/
gst-plugins-ugly/
Of course I had some pre-installed libraries, so I didn't face much of a problem while compilation. It can be tried on a raw ubuntu machine to check dependencies.
Otherwise, gstreamer is dependent on following libraries:
glib
autoconf
automake
autopoint
libtoolize
pkg-config
Generic commands to compile gstreamer libraries are:
./autogen.sh
./configure --prefix=~/gst-install
make
make install
Whenever you execute autogen.sh for given gstreamer library, it will clone 'common' repo in the respective repository.
Another important step to let the current compilation know about the package configurations.
export PKG_CONFIG_PATH=~/gst-install/lib/pkgconfig
If we do not do this, the compiler will look for package configurations in system path which will be /usr/lib/pkgconfig. This may lead to compilation error due to version mismatch between already installed packages and the package to be compiled.
Go to 'gstreamer' directory. Execute the generic commands listed above to compile the library.
This will install the library in 'gst-install' directory.
You will get following binaries:
gst-inspect-1.0
gst-launch-1.0
gst-stats-1.0
gst-typefind-1.0
'gst-plugins-base' gives us:
gst-device-monitor-1.0
gst-discoverer-1.0
gst-play-1.0
Other libraries for plugins will be populated in 'gst-install/lib/' and 'gst-install/lib/gstreamer-1.0/'.
The binaries and libraries may vary depending on the configurations. I have used the default configuration.
gst-ffmpeg clones libav as well. It is a very heavy compilation as it encompasses all ffmpeg plugins.
There are two repositories related to OpenMAX IL wrapper plugin viz gst-openmax and gst-omx. gst-openmax initiated and written by Felipe Contreras is now deprecated. The latest OpenMAX wrapper plugin repo is at gst-omx.
References:
- https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gst-building.html
Note: