在流式传输如下所示的简单命令时
ffmpeg -i "Alien.mkv" -f webm tcp://localhost:8080/listen.webm
如果我按'? ffmpeg 似乎具有以下选项的交互模式
? show this help
+ increase verbosity
- decrease verbosity
c Send command to first matching filter supporting it
C Send/Queue command to all matching filters
D cycle through available debug modes
h dump packets/hex press to cycle through the 3 states
q quit
s Show QP histogram
我对选项'c'很好奇
这是否意味着我可以在正在运行的流上执行更多命令?比如说在一个正在运行的流中寻找一个新的位置? (我意识到你通常不会这样做)
我对这些一无所知,并且在 ffmpeg 文档或其他地方找不到太多内容。如果我按'c',它建议我应该使用的语法是:
Enter command: <target>|all <time>|-1 <command>[ <argument>]
但我仍然不太明白如何执行命令。有人可以举几个例子吗?我怀疑这用得不多。
最佳答案
该功能不适用于通用调整。一些过滤器支持命令。这些命令允许您动态更改过滤器参数,例如如果您正在发送实时流并且音量太大,您可以向音量过滤器(如果存在于过滤器图中)发送命令,并降低增益。
要查看语法,请参阅 docs对于 sendcmd 过滤器。您也可以使用 zmq客户。
查看docs过滤器以查看它们是否支持命令。
关于FFMPEG 交互模式帮助选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48635380/