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?
1 个答案:
答案 0 :(得分:4)
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.