I’ve just found out that the Video library is 700 Mb in size, as GStreamer has tons of dynamic libraries, seemingly for every codec under the sun.
My exported application went from 76 Mb (embedding Java) to 550 Mb.
Is there a way to keep only the parts of GStreamer I need so my users don’t need to download half a gb?
I know the format of the video I intend to play (H.264)
In theory you can pull out the plugins you don’t need. In practice the library loading mechanism in the Video library might complain on Windows, because it doesn’t use the correct mechanism for configuring paths and tries to load everything manually. See how you get on!
In my opinion, GStreamer shouldn’t be bundled at all in the library, but should link to the upstream installers. Bundling should be the expert option when really required.
Thanks a lot for answering Neil!
Yeah, I’m trying to untangle and prune the unnecessary dynamic libs by brute force alone, and it’s not much that can be really removed without issues.
I see the point of having GStreamer, it is a good option for beginners to have the least amount of problems when trying to play video in their own sketches.
I’ll probably have to see if there are simpler video libraries in the Java world.
Just make sure you’re removing plugins, not core libs. You should be able to pull a bunch out here.
I’d argue it’s a better option for pros! It’s widely used across a range of sectors for all sorts of things - most of my paid work is supporting it. It’s not necessarily the easiest option for beginners, at least bundled in the way it is, as you’re finding.