in order to improve an application I am writing with a small Italian company we would like to switch from the current video players that are to be found in OF distributions to a better one based on libVLC v4 or MPLab library. The goal is to have efficient decoding of video (with audio) in a reliable way at resolutions going up to 4K. I did some research and experiments on the matter, but I had to stop at a point where my knowledge just proved to be insufficient to proceed any further.
We would be happy to offer a reasonable compensation (to be discussed) to someone willing to complete the task (or start it from scratch if this turns out to be a better option). Of course I will be glad to help where and how I can.
The primary target OS is Linux but a Windows would be a very nice to have too.
Once completed the addon (or class, library or whatever) will be released as open source to contribute to the OF community. This could be an opportunity to know clever people and may be open the door to a future collaboration on more projects.
Anybody interested can contact me here or with a PM
Just curious did you try the GStreamer video player on linux?
I think it can also work on windows.
pinging @roxlu as he is super with all things video.
Yes GStreamer is what we are currently using on Linux, it works fine but the impression is that VLC could have better performance, especially with UHD resolution. Besides it can open a wider range of formats (including, as an eample, mkv) and network streams.
I was almost there but could not figure out how to manage the texture sharing between the libvlc thread and the OF one… with libMPV the decoding was working but for some reason (tied probably to the way OpenGL context is setup in OF) the library refused to use full hardware acceleration leading of course to unacceptable performance.
To be honest I did not try GStreamer on Windows yet, only the default DS based one and ofxWMFVideoPlayer that works but in our setup has some issues (random crashes after a while and fps sometimes perfect sometimes bad on the same file)
A VLC based player would also include audio playing with the same interface so having a separate ofSoundPlayer for audio only media would not be needed anymore simplifying our application architecture. Of course we are talking about libvlc v4 here because the v3 does pixels sharing via CPU and this is not acceptable for real time video.
@davidemania I still think you might have misconfigured gstreamer, aprt from the hardware decoding that we spoke about some months ago, gstreamer should read mkv without problem and the number of formats should be similar since both vlc and gstreamer use ffmpeg for decoding except gstreamer has some own decoders on top of that
That may be, I have the standard installation of OF on Linux, is there a way to tweak GStreamer options somehow?
Following an advice from Arturo found on a Github repo I tried setting OF_PIXELS_NATIVE together with OpenGl 3.3, that seems to improve the decoding process. Now my shaders stopped working, but I suppose that can be fixed.
Shame on me for the mkv format, a quick test showed that the gstreamer based player is perfectly able to open and decode it. I just was not aware of the capability
@arturo what is the status of ofxGStreamer? Most of the commits are quite old, has it been tested with OF 0.10.1 and Visual Studio 2017
ofxGStreamer is just a wrapper for gstremer in the core and yes it should work with latest OF on windows and mac