我正在使用子过程来启动ffmpeg实例,以提取文件夹中的帧。然后,我在同一文件夹上执行os.listdir
,它返回一个空列表。当然,除了列出由ffmpeg创建的文件之外,我将不会这样做。
这是一个最小的例子
import os
import subprocess
folder = 'generated'
subprocess.run(['ffmpeg', '-i', 'input.mp4', '-vf', 'fps=4', f'{folder}/%05d.png'])
print(os.listdir(folder)) # []
我可以证明文件是在脚本运行时创建的。
在完整的示例中,我使用ffmpeg复杂过滤器生成两个输出,我认为这不是问题的根源。