Open kblaschke opened 1 year ago
I would encourage also instead of C to use rust
GStreamer supports rust (docs) and there are many examples of rust plugins
And there are rust bindings for projectM which provide an easier and safer interface to projectM
Sounds similar to what the gstreamer libvisual integration at https://github.com/GStreamer/gst-plugins-base/tree/master/ext/libvisual is doing. Not sure if that's the latest source.
For anyone who's interested I have a preliminary working version (on linux at least) here! https://github.com/hashFactory/gst-projectm/
@hashFactory awesome! Any known issues to look-out for ?
This bounty has now been awarded!
You can find the source code here for the official gst-projectm plugin: https://github.com/projectM-visualizer/gst-projectm
i remember gstreamer plugin was mentioned in the context that it will allow to "convert" mp3 to a video:
https://github.com/projectM-visualizer/projectm/issues/205 https://github.com/projectM-visualizer/projectm/pull/207#issuecomment-543276653
how this could be done now, when the gstreamer support is already implemented?
From @revmischa on the projectM Discord Server, 10.11.2022 20:18:
If someone can create a GStreamer plug-in that will enable any sort of custom media pipeline application for projectM. E.g. turn an audio file into a video, create a video from a live stream, overlay or mix visualization on existing video, easy automation, etc.
I'll put a bounty of $500 for whoever lands a working GStreamer plug-in. Paid out of our OpenCollective.
https://gstreamer.freedesktop.org/documentation/plugin-development/index.html?gi-language=c
A few additions/clarifications by me (@kblaschke):
audio/x-raw
audio stream and pass it on to projectM.video/x-raw
video stream as output.The
*/x-raw
types would probably be the most appropriate input/output formats as they don't require any de-/encoding overhead in the projectM plug-in and has no compression artifacts. While having the highest bit rate, users can put an audio decoder before and a video compressor plug-in after projectM in the GStreamer filter chain if needed.