微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MoviePy write_videofile 耗时数小时

如何解决MoviePy write_videofile 耗时数小时

我正在尝试连接目录中的每个剪辑,并添加介绍和结尾。以后我还会添加缩放和旋转等编辑功能,这就是为什么我不直接调用ffmpeg,而是使用MoviePy。

一切顺利,直到 final_vid.write_videofile()。它首先以相当好的速度呈现音频。

chunk:  55%|█████▍    | 8721/15977 [00:14<00:10,672.54it/s,Now=None]

然后尝试渲染视频时,速度会大幅降低,预计渲染时间为 72 小时。这是在 ryzen 2600 上运行的,内存为 16 gig,所以我怀疑硬件是瓶颈。

t:   0%|          | 5/43473 [00:28<72:17:35,5.99s/it,Now=None]

我尝试过使用不同的编解码器、fps 设置、记录器关闭和多种其他设置。我将如何加快速度,因为这不可能是 MoviePy 的最大速度?

完整代码如下:

def edit(game):
intro = VideoFileClip("intro.mp4")
final_vid = intro

game = game.replace(" ","")
game_treated = game.replace(" ","%20")

for clip_name in os.listdir("current_vids"):
    new_clip = VideoFileClip(os.path.join("current_vids",clip_name),target_resolution=(1920,1080))

    final_vid = concatenate_videoclips(clips=[final_vid,new_clip],method="compose")

outro = VideoFileClip("outro.mp4")
final_vid = concatenate_videoclips(clips=(final_vid,outro),method="compose")

final_vid.write_videofile(game + datetime.today().strftime("%Y-%m-%d") + ".mp4")

for clip_name in os.listdir("current_vids"):
    os.remove(os.path.join("current_vids",clip_name))

return game_treated + datetime.today().strftime("%Y-%m-%d") + ".mp4"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。