我尝试实现的shell脚本是这样的:
#!/bin/bash
while [ 1 ]
do
nc -l 1234 | ffmpeg -i pipe:0 -vcodec mpeg4 -s qcif -f m4v -y pipe:1 | nc localhost 1235
done 它所做的就是通过网络接收视频输入流,并进行实时视频转码(当然是使用ffmpeg!)并通过网络回传视频。我的问题是,我应该如何在干净的C代码中实现这个功能。我知道我可以使用popen()从c代码中输出这样的命令,但我想做得更好。可能有插座和手杖。感谢任何人的指点。
AskLearnDo。
发布于 2011-08-21 07:27:02
你的shell脚本运行得很好,为什么还要浪费时间用C语言重做呢?您仍然需要使用popen()来与ffmpeg子程序通信,除非您想知道如何调用它们的库来实现等效的功能(或者重新实现ffmpeg代码转换,这超出了SO问题的范围)。
是的,你需要使用套接字--几年前,对我来说,http://beej.us/guide/bgnet/是一个很好的起点。
https://stackoverflow.com/questions/7135284
复制相似问题