Hi All,
I want to use the gstreamer pipeline for 2 different process. 1st process : it should able to decode video and give data to sink 2nd process : Take the decoded data and give to renderer (native window or framebuffer) I came across intervideosink/intervideosrc for this purpose "Virtual video sink/src for internal process communication" In 1st process pipeline seems to be like this: gst-launch-1.0 playbin uri=file:///home/user/testdata/testVideo.mp4 video-sink=intervideosink In 2nd process its gst-launch-1.0 intervideosrc ! autovideosink Need a suggestion how i can make a connection between intervideosink ---> intervideosrc Thanks, Avinash -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi,
On Mon, Sep 11, 2017 at 1:30 PM, avinashgst <[hidden email]> wrote: > I want to use the gstreamer pipeline for 2 different process. > 1st process : it should able to decode video and give data to sink > 2nd process : Take the decoded data and give to renderer (native window or > framebuffer) Do you have to run two different "processes", for each CPU? GStreamer is highly threaded framework and your OS scheduler might be good enough to select a thread for your available CPUs. > I came across intervideosink/intervideosrc for this purpose "Virtual video > sink/src for internal process communication" > > In 1st process pipeline seems to be like this: > gst-launch-1.0 playbin uri=file:///home/user/testdata/testVideo.mp4 > video-sink=intervideosink > > In 2nd process its > gst-launch-1.0 intervideosrc ! autovideosink > > Need a suggestion how i can make a connection between intervideosink ---> > intervideosrc there is a good test code for it. https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst/inter/gstintertest.c And there is a comment, in gstintervideosink, saying: > The intervideosink element cannot be used effectively with > gst-launch-1.0, as it requires a second pipeline in the application to > send video to. See the gstintertest.c example in the gst-plugins-bad > source code for more details. -- yashi _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Intervideosrc and intervideosink are for internal process communication,
as in, to pass frames from one pipeline to another that is in a different pipeline. Not an external process. There is a proprietary plugin for it that does what you want: https://developer.ridgerun.com/wiki/index.php?title=GstInterpipe However, passing raw frames from one process to another is expensive, and can be problematic. Also you would just be offloading video decoding and demultiplexing, which are inherently not very intensive (compared to video encoding). If you just want your pipeline to use multiple threads, use the queue element. https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-queue.html The real advantage you would get from multiprocess is the ability where if one process crashes, the other can continue without interruption (hopefully). If you really need multiprocess, then I would suggest something like RTP or RTSP. And if you are only opening files, RTSP should be relatively straightforward to setup, just be sure to reference the examples. Hope that helps. Cheers, Michael. On 9/11/2017 2:21 AM, Yasushi SHOJI wrote: > Hi, > > On Mon, Sep 11, 2017 at 1:30 PM, avinashgst <[hidden email]> wrote: >> I want to use the gstreamer pipeline for 2 different process. >> 1st process : it should able to decode video and give data to sink >> 2nd process : Take the decoded data and give to renderer (native window or >> framebuffer) > Do you have to run two different "processes", for each CPU? > GStreamer is highly threaded framework and your OS scheduler > might be good enough to select a thread for your available CPUs. > >> I came across intervideosink/intervideosrc for this purpose "Virtual video >> sink/src for internal process communication" >> >> In 1st process pipeline seems to be like this: >> gst-launch-1.0 playbin uri=file:///home/user/testdata/testVideo.mp4 >> video-sink=intervideosink >> >> In 2nd process its >> gst-launch-1.0 intervideosrc ! autovideosink >> >> Need a suggestion how i can make a connection between intervideosink ---> >> intervideosrc > there is a good test code for it. > > https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst/inter/gstintertest.c > > And there is a comment, in gstintervideosink, saying: > >> The intervideosink element cannot be used effectively with >> gst-launch-1.0, as it requires a second pipeline in the application to >> send video to. See the gstintertest.c example in the gst-plugins-bad >> source code for more details. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mon, 2017-09-11 at 11:55 -0700, Michael MacIntosh wrote:
Hi, There also shmsink and shmsrc to pass data between processes (or the new ipcpipeline plugin that just landed in git master). Cheers -Tim -- Tim Müller, Centricular Ltd - http://www.centricular.com Join us at the GStreamer Conference! 21-22 October 2017 in Prague, Czech Republic http://gstreamer.freedesktop.org/conference/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Michael MacIntosh
Thanks Michael,
I will check your suggestions -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Tim Müller
Thanks Tim,
>> There also shmsink and shmsrc to pass data between processes i will check shmsink and shmsrc -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |