我正在开发一个Python脚本,该脚本基于用户实时远程交互生成图像序列,并使用ffmpeg在网络上压缩和流式传输该图像序列,以便用户观看。 一旦生成一个图像,脚本就会将其写入ffmpeg的stdin中,然后在循环中重复此操作以形成视频。在
我想知道当我写stdin时ffmpeg正忙于处理前一个图像时会发生什么。在
我问这个问题是因为我想完全理解数据如何在Python和ffmpeg之间传输,从而将延迟降低到最小。在
下面是我用来启动ffmpeg的部分代码:
cmd = ['ffmpeg',
'-f', 'rawvideo',
'-s', '%dx%d'%(width, height),
'-pix_fmt', 'rgba',
'-r', '%d'%fps,
'-i', '-',
'-an',
'-vcodec', 'libx264',
'-tune', 'zerolatency',
'-preset', 'ultrafast',
'-bf', '0',
'-f', 'mpegts',
'udp://xxx.xxx.xxx.xxx:xxxxx']
proc = subprocess.Popen(cmd, stdin=subprocess.PIPE)
当我想将图像传递到ffmpeg时,我在循环中称之为:
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐