我目前正在python中使用以下命令将.webm文件转换为.ogg
subprocess.call(['ffmpeg', '-i', songfile, songfile + ".ogg"])
这会打印出一堆我不需要的输出,但我无法使用此命令禁用它。
subprocess.call(['ffmpeg', ' -loglevel quiet','-i', songfile, songfile + ".ogg"])
我得到错误
Unrecognized option '-log-level quiet'.
如何在此处禁用ffmpeg输出?
subprocess.call文档显示
若要抑制stdout或stderr,请提供值
DEVNULL
。
因此您可能会更换
subprocess.call(['ffmpeg', '-i', songfile, songfile + ".ogg"])
使用
subprocess.call(['ffmpeg', '-i', songfile, songfile + ".ogg"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
Daweo的答案值得一看,但以下是您的尝试失败的原因:请记住,在执行subprocess.call
时不涉及shell(除非您明确要求(,这意味着您需要将-loglevel quiet
作为两个单独的项传递;..., '-loglevel', 'quiet', ...