how to separate decode and encode into separate processes

ttran tam.tran at nteligen.com
Fri Jul 7 23:34:00 UTC 2017


Hi everyone,
I'm a new member here, and I'm also a gstreamer newbie.
So currently I can setup pipeline/bin and then configure some elements to
transcode a video stream, like libav, openh264, msdk, x264, and then putting
those elements into the pipeline and run the transcoding. what I like to do
is separate out the elements into separate processes and have them
communicate to each other through some form of ipc, like a socket for
example.
for example, let say I have a something like this:

     src ! avdec_h264 ! x264enc ! sink

what I like to do is have each of those elements run as separate processes
that communicates through ipc or unix sockets.
some of the things I have though of is creating parallel producer and
consumer pipelines, where the decoder would run on one pipe and encoder on
the other.
another idea is having multiple instances of gstreamer, still in a
producer/consumer fashion.
I'm just gathering ideas to construct something like this, and not really
doing any coding at this time, though I eventually will have to test all of
them to pick the best performant solution. I haven't explore enough of
gstreamer to fully utilize its capability for performance transcoding. And
that's my other concern, latency.
At this time, my constraint is the elements can't be in the same process,
particularly the encoding and decoding components, and I cant touch any
discrete gpu like nvidia or ati stuff.
Thank you for any helpful input you may offer.
Tam




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/how-to-separate-decode-and-encode-into-separate-processes-tp4683736.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list