I am using LibVLCSharp to play an RTSP stream in my Winforms application. The library is great and everything is working fine. However, my ram usage of the application jumped from around 20-30MB to around 140MB! In addition, I have to include about 140MB worth of DLL files with my application, despite the executable being 2MB! The library right now is bascailly the whold VLC media player application bundled with my app.
I only use very limited capabilites of the library (only streaming from an RTSP URL and displaying it in a form, without even and playback capabilities), so I figured there must be a way to include the required DLLs for my app with the program.
Testing my theroy, I tried to randomly remove some DLLs from the libVLC directory. By some guessing and trial and error, I was actually able to remove ~20MB from the library and the stream worked just fine. For example, by removing the DLLs under audio directory, the stream worked well but had no audio (which I don't need in my case). Unfortunately, there is still about ~120MB of DLLs.
I tried searching how to only include the DLLs required by the used features, or how to determine such DLLs such that the rest can be deleted, but I couldn't find any solution.
A similar unanswered question here on stackoverflow: Libvlc - minimal files (functions) set for streaming out