如何在 ffmpeg-python 中使用 filter_() 中的输入参数?

Lin*_*kyu 1 python ffmpeg

我正在使用ffmpeg-python包装器。

我想使用裁剪过滤器来提取视频文件的裁剪部分;我希望该部分的大小是输入尺寸的一半。

根据 ffmpeg 的文档,我可以使用输入参数in_win_h如下所示:

crop=1/2*in_w:1/2*in_h (或 crop=w=1/2*in_w:h=1/2*in_h带有命名参数)

但是,我很难找到如何在 ffmpeg-python 中使用它们。我想我可以像这样将它们作为标准参数传递: filter_('crop', '1/2*in_w:1/2*in_h') 但我似乎误解了直接参数在这里是如何工作的,因为这不起作用。

显然,我不能像这样使用关键字参数:

filter_('crop', w=1/2*in_w, h=1/2*in_h)

因为它们被解释为未定义的名称。

Lin*_*kyu 5

我实际上非常接近。在测试更多可能性时,我发现我需要做的就是将关键字作为字符串发送:

(ffmpeg
 .input("input.mp4")
 .filter_('crop', w='1/2*in_w', h='1/2*in_h')
 .output("output.mp4")
 .run()
 )
Run Code Online (Sandbox Code Playgroud)