我现在正在Python 3.7.2上为ffmpeg编写自己的包装,并希望使用它的“ -progress”选项来读取当前进度,因为它具有很高的机器可读性。问题是ffmpeg的“ -progress”选项仅接受参数文件名和URL作为其参数。但是我不想创建其他文件而不是为此目的设置整个Web服务器。
我已经在Google上搜索了很多,但是所有“ ffmpeg的进度条”项目仅依赖于ffmpeg的通用stderr输出。对于Stackoverflow和Superuser,此处的其他答案仅对“ -v quiet -stats”感到满意,因为“ progress”并不是用于Google参数的参数的便捷名称。
最好的解决方案是强制ffmpeg将其“ -progress”输出写入单独的管道,因为在stderr中还有一些有用的数据,也与文件编码有关,我不想将其与“ -v”一起丢弃安静”。尽管如果有一种方法可以将“ -progress”输出重定向到stderr,那也很酷!实际上,任何管道都可以,我只是想不通如何使ffmpeg写入“ -progress”而不在Windows中归档。我尝试使用“ ffmpeg -progress stderr ...”,但是它只是使用该名称创建文件。
答案 0 :(得分:1)
-progress pipe:1
会写到stdout,pipe:2
会写到stderr。如果您不是从ffmpeg流式传输,请使用stdout。