Python,FFMPEG:将FFMPEG子进程调用的输出重定向到字符串

Python,FFMPEG:将FFMPEG子进程调用的输出重定向到字符串,python,ffmpeg,Python,Ffmpeg,我已经使用子流程模块运行了FFMPEG命令,如下所示: output = subprocess.check_output(command, shell=True) 这工作正常,但它会将详细的FFMPEG输出打印到控制台。我正在编写的程序应该批量运行数百/数千个文件,我不希望处理的每个文件都有详细的输出,除非用户选择这样做。我是否可以将控制台输出和错误重定向到字符串,以便决定何时应该和不应该打印它们 这可能有点蹩脚,但我尝试了以下代码片段: outputBuffer = BytesIO() ou

我已经使用子流程模块运行了FFMPEG命令,如下所示:

output = subprocess.check_output(command, shell=True)
这工作正常,但它会将详细的FFMPEG输出打印到控制台。我正在编写的程序应该批量运行数百/数千个文件,我不希望处理的每个文件都有详细的输出,除非用户选择这样做。我是否可以将控制台输出和错误重定向到字符串,以便决定何时应该和不应该打印它们

这可能有点蹩脚,但我尝试了以下代码片段:

outputBuffer = BytesIO()
output = subprocess.check_output(command, shell=True, stdout=outputBuffer)
但它给了我以下错误:

ValueError: stdout argument not allowed, it will be overridden.
我看到了使用
POpen
接口的其他示例,但是考虑到我在运行外部命令时没有与它通信,并且我需要对大量项目运行此命令,如果可能的话,我更喜欢更简单的方法

提前谢谢


注意:在这个广泛的主题中,我发现了很多问题,但我找不到任何与我的情况完全相关的问题。

您可以通过添加
-hide_banner
标志来隐藏ffmpeg横幅,并使用
-loglevel
命令控制输出的详细程度,例如
ffmpeg-hide_banner-loglevel>[剩下的ffmpeg内容]
。谢谢。这为我解决了问题。:)我留下问题,看看是否有办法通过Python处理类似的命令。