ffmpeg 可以检测视频的单色部分并相应地有条件地设置过滤器参数

问题描述

我输入的视频在彩色和单色/灰色部分(仅包含亮度信息的帧)之间来回切换。 ffmpeg 有没有办法检测当前帧是彩色的还是单色的,有没有可能用这个信息来改变过滤器的参数?

举个例子,我想应用 mpdecimate 过滤器,我希望它对彩色帧使用 50(每像素)的“hi”参数,对单色帧使用 20。

所以在伪代码中我想要类似的东西

-vf mpdecimate=hi=if(coloured,64*50,64*20)

但显然“有色”条件不是这样工作的。

这能以某种方式实现吗?

附注: 关于单色帧的检测,我确定了两个具有相关功能的过滤器,但我无法在另一个过滤器中使用这些信息:

  • "geq" 可以使用 cbsum(x,y) 和/或 crsum(x,y) 很好地了解框架颜色
  • "signalstats" 可以使用属性 "SATMAX" 来判断帧的颜色级别

有没有办法在另一个过滤器中使用上述两个过滤器中任何一个的结果数量

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...