在 ffmpeg 中传递选项或参数

Pass option or argument in ffmpeg

我正在对 af_silencedetect.c 文件进行一些修改,这是 ffmpeg 众多过滤器之一,我想在 运行 ffmpeg 时传递一个独特的选项。我需要 ffmpeg 保存它找到的静默,并将它们放入具有我传递的唯一 ID 的不同日志文件中,因为我 运行 同时使用多个 ffmpeg。这是我尝试做的事情:

ffmpeg -i audio.mp3 -vn -af silencedetect=n=-50dB:d=1:id=01 -f mp3 out.mp3

怎么做?如何创建新参数并将其传入并在 ffmpeg 中进行 grep?

我在 ffmpeg 上做了一些工作,我知道开始开发新功能有点痛苦。对于开发人员来说,它们的信息很少,ffmpeg mailing list 上的答案并不总是有帮助。

注意:以下说明假设您能够编译ffmpeg。 运行 "ffmpeg_g" 带有gdb的程序,它是ffmpeg的调试版本。

因此,要添加选项,您必须查看 this line。 对于您要在此数组中添加一行的每个选项,并按以下顺序设置参数:

{选项名称、描述、上下文对象中的偏移量、类型、默认值、最小值、最大值、标志}

注意:查看其他文件了解可能的选项类型。

然后为每个选项添加一个成员 the context structure

最后将您的选项与您通过 this instruction 获得的上下文对象一起使用。

就这些了,希望对你有所帮助。