Being a similar technique to deploying a private copy of the SDK, keep
in mind that you should relocate the SDK too, as explained at the end of
this page.
Bear also in mind that GStreamer is modular in nature. Plug-ins are
loaded depending on the media that is being played, so, if you do not
know in advance what files you are going to play, you do not know which
plugins and shared libraries you need to deploy.
# Deploy only necessary packages, using the provided ones
This will produce a smaller installer than deploying the complete
GStreamer SDK, without the added burden of having to manually pick each
library. You just need to know which packages your application requires.
![](images/icons/grey_arrow_down.gif)Available packages (Click to
expand)
<table>
<colgroup>
<colwidth="25%"/>
<colwidth="25%"/>
<colwidth="25%"/>
<colwidth="25%"/>
</colgroup>
<thead>
<trclass="header">
<th>Package name</th>
<th>Dependencies</th>
<th>Licenses</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<trclass="odd">
<td>base-system</td>
<td></td>
<td>JPEG, FreeType, BSD-like, LGPL,<br/>
LGPL-2+, LGPL-2.1, LibPNG and MIT</td>
<td>Base system dependencies</td>
</tr>
<trclass="even">
<td>gobject-python</td>
<td>base-system</td>
<td>LGPL</td>
<td>GLib/GObject python bindings</td>
</tr>
<trclass="odd">
<td>gstreamer-capture</td>
<td>base-system, gstreamer-core</td>
<td>LGPL and LGPL-2+</td>
<td>GStreamer plugins for capture</td>
</tr>
<trclass="even">
<td>gstreamer-clutter</td>
<td>base-system, gtk+-2.0, gstreamer-core</td>
<td>LGPL</td>
<td>GStreamer Clutter support</td>
</tr>
<trclass="odd">
<td>gstreamer-codecs</td>
<td>base-system, gstreamer-core</td>
<td>BSD, Jasper-2.0, BSD-like, LGPL,<br/>
LGPL-2, LGPL-2+, LGPL-2.1 and LGPL-2.1+</td>
<td>GStreamer codecs</td>
</tr>
<trclass="even">
<td>gstreamer-codecs-gpl</td>
<td>base-system, gstreamer-core</td>
<td>BSD-like, LGPL, LGPL-2+ and LGPL-2.1+</td>
<td>GStreamer codecs under the GPL license and/or with patents issues</td>
</tr>
<trclass="odd">
<td>gstreamer-core</td>
<td>base-system</td>
<td>LGPL and LGPL-2+</td>
<td>GStreamer core</td>
</tr>
<trclass="even">
<td>gstreamer-dvd</td>
<td>base-system, gstreamer-core</td>
<td>GPL-2+, LGPL and LGPL-2+</td>
<td>GStreamer DVD support</td>
</tr>
<trclass="odd">
<td>gstreamer-effects</td>
<td>base-system, gstreamer-core</td>
<td>LGPL and LGPL-2+</td>
<td>GStreamer effects and instrumentation plugins</td>
</tr>
<trclass="even">
<td>gstreamer-networking</td>
<td>base-system, gstreamer-core</td>
<td>GPL-3, LGPL, LGPL-2+, LGPL-2.1+<br/>
and LGPL-3+</td>
<td>GStreamer plugins for network protocols</td>
</tr>
<trclass="odd">
<td>gstreamer-playback</td>
<td>base-system, gstreamer-core</td>
<td>LGPL and LGPL-2+</td>
<td>GStreamer plugins for playback</td>
</tr>
<trclass="even">
<td>gstreamer-python</td>
<td>base-system, gobject-python,<br/>
gstreamer-core</td>
<td>LGPL and LGPL-2.1+</td>
<td>GStreamer python bindings</td>
</tr>
<trclass="odd">
<td>gstreamer-system</td>
<td>base-system, gstreamer-core</td>
<td>LGPL, LGPL-2+ and LGPL-2.1+</td>
<td>GStreamer system plugins</td>
</tr>
<trclass="even">
<td>gstreamer-tutorials</td>
<td></td>
<td>LGPL</td>
<td>Tutorials for GStreamer</td>
</tr>
<trclass="odd">
<td>gstreamer-visualizers</td>
<td>base-system, gstreamer-core</td>
<td>LGPL and LGPL-2+</td>
<td>GStreamer visualization plugins</td>
</tr>
<trclass="even">
<td>gtk+-2.0</td>
<td>base-system</td>
<td>LGPL</td>
<td>Gtk toolkit</td>
</tr>
<trclass="odd">
<td>gtk+-2.0-python</td>
<td>base-system, gtk+-2.0</td>
<td>LGPL and LGPL-2.1+</td>
<td>Gtk python bindings</td>
</tr>
<trclass="even">
<td>snappy</td>
<td><p>base-system, gstreamer-clutter,<br/>
gtk+-2.0, gstreamer-playback,<br/>
gstreamer-core, gstreamer-codecs</p></td>
<td>LGPL</td>
<td>Snappy media player</td>
</tr>
</tbody>
</table>
Get the disk image file with all the packages:
<table>
<colgroup>
<colwidth="100%"/>
</colgroup>
<thead>
<trclass="header">
<th>Universal</th>
</tr>
</thead>
<tbody>
<trclass="odd">
<td><p><ahref="http://cdn.gstreamer.com/osx/universal/gstreamer-sdk-2013.6-universal-packages.dmg"class="external-link">GStreamer SDK 2013.6 (Congo) for Mac OS X (Deployment Packages)</a> - <ahref="http://www.freedesktop.org/software/gstreamer-sdk/data/packages/osx/universal/gstreamer-sdk-2013.6-universal-packages.dmg"class="external-link">mirror</a> - <ahref="http://cdn.gstreamer.com/osx/universal/gstreamer-sdk-2013.6-universal-packages.dmg.md5"class="external-link">md5</a> - <ahref="http://cdn.gstreamer.com/osx/universal/gstreamer-sdk-2013.6-universal-packages.dmg.sha1"class="external-link">sha1</a></p></td>
<td><p>Due to the size of these files, usage of a <ahref="http://en.wikipedia.org/wiki/Download_manager"class="external-link">Download Manager</a> is <strong>highly recommended</strong>. Take a look at <ahref="http://en.wikipedia.org/wiki/Comparison_of_download_managers"class="external-link">this list</a> if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.</p></td>
</tr>
</tbody>
</table>
# Relocation of the SDK in OS X
In some situations we might need to relocate the SDK, moving it to a
different place in the file system, like for instance when we are
shipping a private copy of the SDK with our application.
### Location of dependent dynamic libraries.
On Darwin operating systems, the dynamic linker doesn't locate dependent
dynamic libraries using their leaf name, but instead it uses full paths,
which makes it harder to relocate them as explained in theDYNAMIC