How to distribute an app that use latest gstreamer

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

How to distribute an app that use latest gstreamer

suspension
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.
Reply | Threaded
Open this post in threaded view
|

Re: How to distribute an app that use latest gstreamer

Nicolas Dufresne-5
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
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How to distribute an app that use latest gstreamer

suspension
Thanks Nicolas for the information.
I forgot to mention that I am able to build all required libs in windows using VS. In windows my app only depends on gstreamer related libraries such as gstreamer, base plugins. In Linux, this app uses gtk toolkit to create the GUI. Building gtk requires building lots of other libraries.. In windows the app does not use GTK.

I had a look in to flatpack. Although it looks promising, I am not sure if  I will have to face issues when I want to support all the dependencies such as GTK. Also I dont understand how this differs from docker.

I also tried gstreamer build system in my windows 10 machine. Looks like I cant run bootstrap in windows 10. I can try it in linux as I really dont need this for windows. Do you think I can use this build system to build GTK and its dependencies as well?

Thank you
Reply | Threaded
Open this post in threaded view
|

Re: How to distribute an app that use latest gstreamer

Nicolas Dufresne-5

Le 4 oct. 2016 5:42 PM, "suspension" <[hidden email]> a écrit :
>
> Thanks Nicolas for the information.
> I forgot to mention that I am able to build all required libs in windows
> using VS. In windows my app only depends on gstreamer related libraries such

Make sure you'll be able to provide all the VS project and scripts when asked. Otherwise this looks is fine. With the venue of meson, it should become easier to do.

> as gstreamer, base plugins. In Linux, this app uses gtk toolkit to create
> the GUI. Building gtk requires building lots of other libraries.. In windows
> the app does not use GTK.
>
> I had a look in to flatpack. Although it looks promising, I am not sure if
> I will have to face issues when I want to support all the dependencies such
> as GTK. Also I dont understand how this differs from docker.
>
> I also tried gstreamer build system in my windows 10 machine. Looks like I
> cant run bootstrap in windows 10. I can try it in linux as I really dont

You should report any issues you may have encountered. You can also cross compile for Windows using mingw.

> need this for windows. Do you think I can use this build system to build GTK
> and its dependencies as well?
>

Cerbero already support building Gtk. This is to support tutorials and PiTiVi.

> Thank you
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-to-distribute-an-app-that-use-latest-gstreamer-tp4679908p4679938.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel