Python Moviepy-剪切帧(感兴趣区域)随时间从左向右移动的视频
我正在使用MoviePy在服务器上自动从视频剪辑创建GIF。图书馆帮助进行各种转换和剪辑视频,以创建GIF 在我当前的项目中,我有一个视频剪辑,其中有很多移动的对象,这使得自动跟踪感兴趣的区域变得很困难。 (下面的快速gif显示了场景,尽管背景可以很容易地消除并跟踪对象。但假设跟踪对象超出了项目范围) 如gif所示,红色矩形下方是感兴趣的区域,该区域随时间从左向右移动。 我想裁剪该区域并创建GIF 我正在使用MoviePy,我从视频中剪切了一个矩形来创建gif。但矩形固定在其原始坐标位置。我正在寻找一种方法来随着时间移动矩形,并将其裁剪成GIFPython Moviepy-剪切帧(感兴趣区域)随时间从左向右移动的视频,python,gif,video-editing,moviepy,Python,Gif,Video Editing,Moviepy,我正在使用MoviePy在服务器上自动从视频剪辑创建GIF。图书馆帮助进行各种转换和剪辑视频,以创建GIF 在我当前的项目中,我有一个视频剪辑,其中有很多移动的对象,这使得自动跟踪感兴趣的区域变得很困难。 (下面的快速gif显示了场景,尽管背景可以很容易地消除并跟踪对象。但假设跟踪对象超出了项目范围) 如gif所示,红色矩形下方是感兴趣的区域,该区域随时间从左向右移动。 我想裁剪该区域并创建GIF 我正在使用MoviePy,我从视频中剪切了一个矩形来创建gif。但矩形固定在其原始坐标位置。我正
clip = (VideoFileClip("my_video.mp4")
.subclip((1,10.1),(1,14.9))
.resize(0.5)
.crop(x1=145,y1=110,x2=400,y2=810))
clip.write_gif("my_gif.gif")
如何添加时间因子,使坐标随时间变化
欢迎任何建议 您正在寻找moviepy中的
滚动功能。它的文档是缺乏的,但他们是,和源代码
moviepy.video.fx.all.scroll(剪辑,h=None,w=None,x\u速度=0,y\u速度=0,x\u开始=0,y\u开始=0,应用到class='mask')
参数:
剪辑
;要操作的剪辑
h
和w
确定最终剪辑的高度和宽度
x\u速度
和y\u速度
决定滚动速度。不确定这些是用什么来衡量的,所以您可能需要研究源代码,或者只是尝试错误
x_start
和y_start
这是从(0,0)开始滚动的距离
应用于
;和面具有关,你不需要它
最终代码:
clip = (VideoFileClip("my_video.mp4")
.subclip((1,10.1),(1,14.9))
.resize(0.5)
.crop(x1=145,y1=110,x2=400,y2=810))
# You won't need to set `w` and `h` if you are separately cropping it
new_clip = clip.scroll(w=clip.w, h=var, x_speed=speed, y_start=height_to_top_of_wanted_bit)
new_clip.set_duration(1.0 / speed)
new_clip.write_gif("my_gif.gif")
注意,此代码未经测试。什么是vfx
?vfx
表示视觉效果,需要从moviepy.editor导入vfx
或类似内容。我已经更新了代码来删除它,并用推荐的在MoviePy中应用效果的方法来替换它。