如何向 FFmpeg `color` 源过滤器发送命令?

如何向 FFmpeg `color` 源过滤器发送命令?

FFmpeg 文档状态:

color源支持以下命令:

c, color-color源过滤器

我如何使用这个命令?

考虑到标准sendcmd用法,我尝试了

ffmpeg -f lavfi -i sendcmd='1 color c blue',color=c=red output.mp4

我被打了一巴掌

[lavfi @ 000001f4fefcbd80] Too many inputs specified for the "color" filter.
sendcmd=1 color c blue,color=c=red: Invalid argument

这是有道理的,因为color过滤器不接受任何输入流。

还有其他方法可以让它工作吗?

答案1

之后放置 sendcmd。

ffmpeg -f lavfi -i "color=c=red,sendcmd='1 color c blue'" output.mp4

命令处理过滤器(如 sendcmd 或 zmq)可以位于过滤器图中的任何位置。但它们应在命令接收者的生命周期内保持活动状态。如果过滤器的输入过滤器到达 EOF,则该过滤器将“死亡”。因此,过滤器some_filter,trim=end_frame=1,sendcmd会很快死亡。

相关内容