SledgeHammer_999
26th December 2009, 20:16
Hi, I am a C++ hobbyist and I have done a number of applications for my personal use. Most of them just use libraries(gtkmm and gstreamer in particular). As of late I had a question pop up in my head. How someone launches a second program from another program and pipe data into it?
I use linux obviously. I have figured out that I need to use fork() to launch another process. My problem is, how do I feed data to x264 afterwards?
I just want to do an experiment. First, test the decoding efficiency of gstreamer, second test the efficiency of x264 under 64bit linux compared to 32bit winxp. I know that the results aren't scientific because the decoding process is entirely different(and I suspect gstreamer will be worse than avisynth). I did some research on the gstreamer side and I found out that I can use the appsink element and have access to a data buffer that arrives on the element. From there I have 2 questions:
1.How do I pipe the data to x264(using the data pointer)?
2.What happens if I pipe more data(frames) than x264 can handle(encode)?
I am a total noob on the subject, so I may have some concepts wrong. Thanks for your time...
I use linux obviously. I have figured out that I need to use fork() to launch another process. My problem is, how do I feed data to x264 afterwards?
I just want to do an experiment. First, test the decoding efficiency of gstreamer, second test the efficiency of x264 under 64bit linux compared to 32bit winxp. I know that the results aren't scientific because the decoding process is entirely different(and I suspect gstreamer will be worse than avisynth). I did some research on the gstreamer side and I found out that I can use the appsink element and have access to a data buffer that arrives on the element. From there I have 2 questions:
1.How do I pipe the data to x264(using the data pointer)?
2.What happens if I pipe more data(frames) than x264 can handle(encode)?
I am a total noob on the subject, so I may have some concepts wrong. Thanks for your time...