I have a program called capture that reads the webcam data and output to the avconv program.
./capture | avconv -f mpegts udp://10.1.62.252:5050
Now I have to output to avconv inside my C program.
So, instead of output to the stoud:
fwrite(p, size, 1, stdout);
I need to do do something like that:
system("stdout | avconv -f mpegts udp://10.1.62.252:5050");
How can I do that?
Advertisement
Answer
You can use popen() for this purpose.
FILE *f = popen("avconv -f mpegts udp://10.1.62.252:5050","w");
then use fwrite() to write.
PS: Actually, this method is not redirecting stdout
of your c program but it is using pipe stream
concept to provide input to avconv
from your code.