Reputation: 207
I am using the ffmpeg-python wrapper.
I want to use the crop filter to extract a cropped section of the video file; I want the section's size to be half the dimensions of the input.
According to ffmpeg's documentation, I can use the input parameters in_w
and in_h
like so:
crop=1/2*in_w:1/2*in_h
(or
crop=w=1/2*in_w:h=1/2*in_h
with named parameters)
However, I struggle to find how to use them in ffmpeg-python. I figured I could pass them as standard arguments like so:
filter_('crop', '1/2*in_w:1/2*in_h')
but I seem to misunderstand how direct arguments work here because this does not work.
Obviously, I can't use keyword arguments either like so:
filter_('crop', w=1/2*in_w, h=1/2*in_h)
because they're interpreted as undefined names.
Upvotes: 1
Views: 3719
Reputation: 207
I was actually very close. While testing more possibilities, I found out that all I needed to do was to send the keywords as strings:
(ffmpeg
.input("input.mp4")
.filter_('crop', w='1/2*in_w', h='1/2*in_h')
.output("output.mp4")
.run()
)
Upvotes: 5