RidgeRun / gst-interpipe

GStreamer plug-in for interpipeline communication
Other
143 stars 64 forks source link

Python Support #70

Open rsnk96 opened 3 years ago

rsnk96 commented 3 years ago

Dear Interpipe Team

Thanks for the brilliant plugin

Was just wondering if there is python support for this Gst plugin? I noticed a thread had already been started here where a Wiki example was referenced. However, the wiki example only contains a bash example, not a Python example. I am looking to use interpipe on Gstreamer pipelines that have been initialized and are running through Gst-Python, would appreciate if you could explain how interpipe can be setup for usage in Python

jcaballeros commented 3 years ago

Hi,

Currently, we do not have an interpipe example with gst-python in the wiki, but I think that it should work fine.

You may find useful this example, though it doesn't use gst-python, it uses GstD and interpipe to create a media server in Python.

Regards

SonnyWalkman commented 2 years ago

Was just wondering if there is python support for this Gst plugin?

Could we have a example folder with gst-python examples please. Not everyone uses gstd and shell scripts. What about windows users? I believe there is a fair few of use using python for the purpose of prototyping pipelines to allow receiving bus messages and dynamically changing element and plugin properties. I'm skipping C/C++ implementations in favour of Rust due to all the positive benefits rust provides as well the ongoing support with rust bindings. https://gitlab.freedesktop.org/gstreamer/gstreamer-rs

fischer commented 2 years ago

Hi Sonny, gstd was created first by RidgeRun and then as we provided support to our customers, the idea of interpipes came up as a way to solve the most common, and often times, most complex challenges encountered by our customers. That is why all the interpipes examples are done within the gstd framework. Both gstd and interpipes are Open Source projects and we love contributions from the community. RidgeRun has no expertise with Windows, but there is no technical limitation with gstd that would prohibit gstd to build and run on Windows. We need a community member to request a git pull with the missing pieces. Yes, you can use interpipes without gstd. Your suggestion for rust examples and python examples are spot on. Please submit a pull request with such examples and we will gladly review and incorporate them. The tricky part of interpipes, based on the support questions, is getting the interpipes parameters set correctly for your use case. These parameter settings are independent of gstd / python binding / rust binding. My view of what is needed to take interpipes to the next level is a way of explaining these parameters, with examples, so users can be successful the first time they try interpipes. Your view is different and we look forward to your contributions to make interpipes even more useful.

Jamie0 commented 2 years ago

I can confirm GstInterPipe compiles and runs perfectly fine on Windows, both under MinGW and MSVC. What worked for me was building a new VS project from the repo, importing the GStreamer VS project configuration (and added GstApp and GstBase to the libraries), and borrowing a config.h file.

Then you can just drop gstinterpipe.dll into the plugins folder.

SonnyWalkman commented 1 year ago

Thanks Jamie0, I'll try your method and see how I go. There doesn't seem to may projects out there using interpipesrc/sink which I find unusual? I'd be after a rust or python implementation of a AV mixer.