首页 > 解决方案 > 使用 ffmpeg-python 进行多个管道输入

问题描述

我目前正在使用 ffmpeg-python 将生成的帧保存到视频中...

outproc = (ffmpeg.input('pipe:', format='rawvideo', pix_fmt='rgb24', s='{}x{}'.format(w, h))
           .output('~/Desktop/out.mp4', vcodec = 'hevc', crf = '23')
           .overwrite_output()
           .run_async(pipe_stdin = True))
...
outproc.stdin.write(np.uint8(img* 255.0).tobytes())
...
outproc.stdin.close()
outproc.wait()

在这段代码中,它只是假设只有一个管道输入流。但是,如果我也想生成音频怎么办。或者,如果我有多个视频流,我想应用 ffmpeg 过滤器然后合并在一起。创建多个输入管道的最佳方法是什么。我想我可以创建命名管道并将它们作为输入传递。有没有更好的方法来实现这一点?我想我也可以对输出提出相同的问题。如果我想从同一个文件中读取原始视频和音频怎么办。

标签: pythonffmpeg

解决方案


推荐阅读