有没有一种方法可以仅对 ffmpeg 链中的过滤器进行基准测试,而忽略编码器操作?

有没有一种方法可以仅对 ffmpeg 链中的过滤器进行基准测试,而忽略编码器操作?

我发现了很多如何使用空复用器防止将实际输出写入磁盘,从而节省磁盘空间和执行写入操作所需的所有时间/工作。我对一些略有不同的事情感兴趣:我想对一组不同的过滤器链的性能进行基准测试/比较独立的编码器。换句话说,我想尝试找到一个空编码器,而不是空复用器:其中来自过滤器链的帧输出被转储到任何地方,而不是转储到编码器中。

如果我的参考链是: input -> filter1 -> filter2 -> filterN -> encoder -> muxer

我能找到的所有示例都向我展示了如何做到这一点:
input -> filter1 -> filter2 -> filterN -> encoder -> NULL

但我真正想做的是
input -> filter1 -> filter2 -> filterN -> NULL

答案1

这将是

ffmpeg -i input `bench@pre=start,filter1,filter2,filter3,bench@post=stop` -f null -

首先台式过滤器启动时钟。第二个测量停止时间并打印每帧的时间,以及累计平均值和最大/最小时间。

相关内容