扭曲管两个进程与spawnProcess(Twisted pipe two processes wi

2019-10-19 20:35发布

我试图使用双绞线与Python2.7用于输送两个过程。

我想要做的是:

myImagesPipesGenerator | ffmpeg -i -

myImagesPipesGenerator是outputing在标准输出BMP图像的无限名单。 FFmpeg的越来越标准输入那些照片和视频编码它们的

所以,我需要:

generatorTransport = reactor.spawnProcess(myInputProtocol, "myImagesPipesGenerator", ["myImagesPipesGenerator",], env=None, childFDs={0:'w', 1:'r', 2:'r'})
ffmpegTransport = reactor.spawnProcess(myOutputProtocol, "ffmpeg", ["ffmpeg","-i","-"], env=None, childFDs={0:__What_to_use_here__, 1:'r', 2:'r'})

如何获得generatorTransport标准输出管道的“产出”的文件描述符,所以我可以用它在childFDs为ffmpegTransport?

谢谢你的帮助,

Answer 1:

创建管自己:

read, write = os.pipe()

然后,通过在要孩子使用它们的文件描述符。 就像是:

generatorTransport = reactor.spawnProcess(..., childFDs={1: write})
ffmpegTransport = reactor.spawnProcess(..., childFDs={0: read})


文章来源: Twisted pipe two processes with spawnProcess