How to distribute an app that use latest gstreamer

Nicolas Dufresne nicolas at ndufresne.ca
Tue Oct 4 14:17:03 UTC 2016


Le dimanche 02 octobre 2016 à 01:35 -0700, suspension a écrit :
> I have a commercial application which uses latest gstreamer, and some
> plug-ins. (This app links with gstreamer and dependent libs). This app has
> to be distributed in Linux (Ubuntu/Fedora and other popular distros),
> Windows and in the future on MacOS too. My current approach is to build
> gstreamer and most of its dependencies and pack them with my application.
> (Assuming this is legally possible). These include glib2, gtk, etc,etc..  By
> doing this I have control over all the dependencies it needs and will reduce
> issues that arise due to incompatible libraries in client machines. I want
> to know if there are other recommended ways of doing this. I also checked
> docker but not sure if it can be used for gstreamer. Also I have seen
> documentation regarding gstreamer SDK but not sure if it is maintained now.

The uprising technology to do so is Flatpack on Linux. Though, that is
in serious development. Meanwhile, you have to generate packages for
each distros. Shipping dependencies is common if you cannot test with
the shipped GStreamer on each of the targeted distributions. It will
make your application much bigger.

The GStreamer project is of course not taking any responsibility for
your handling of the licences and distribution of GStreamer material
and third parties dependencies. Though, we do provide a build tool that
should help companies create such packages or bundles. Find our build
system at:

  https://cgit.freedesktop.org/gstreamer/cerbero/

See README for instructions. It comes with various packaging method,
including packaging for distributions. Note that this is not highly
maintain as we don't ourself produce distro specific packages. This is
all written in plain python, hence make sure you have a knowledgeable
developer to take care. A very important part of this build system is
the "bundle-source" command. This command generates a compliant source
tarball that would let a licence rebuild the Open Source parts of your
project. For every distributed build, you should create a bundle-source 
and archive it. You can then provide that file to a licensee that
request it.

best regards,
Nicolas Dufresne
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20161004/29e5902d/attachment.sig>


More information about the gstreamer-devel mailing list