Moviepy write_videofile 第二次有效但第一次无效?

我将视频对象列表连接在一起,然后用 write_videofile 将它们写入,奇怪的是,当我第一次写入文件时,它在前半部分播放良好,然后文件中每个剪辑的前几帧在冻结之前播放。但奇怪的是,如果我在第一个视频写入后立即写入完全相同的视频对象,它会很好地写入并且播放完美。


这是我的代码


from moviepy.editor import VideoFileClip, concatenate_videoclips

for clip in clips:

    dlclip = VideoFileClip(clip, target_resolution=(1080, 1920))  # Download clip

    clipslist.append(dlclip)


videofile = concatenate_videoclips(clipslist)

videofile.write_videofile("final1.mp4") # Broken after the first halfish

videofile.write_videofile("final2.mp4") # Works entirely fine.

videofile.close

有任何想法吗?任何建议表示赞赏。

  • 有时,当视频足够小时,第一次写起来似乎也很好。

  • 似乎没有中断的设定点,每次我第一次写它时,它通常会在不同的位置中断。

  • 我尝试等待线程退出并在连接后休眠,但这似乎无法解决问题。



德玛西亚99
浏览 49回答 3
3回答

一只甜甜圈

我在同时写入多个视频时遇到了同样的问题write_videofile,似乎后面的任务会write_videofile通过挂起其写入进程来导致前面的任务输出错误,尽管后面的任务完成后进程会继续,之前任务的结果视频在挂点处破裂,尚未找到解决方案

慕斯王

我在同时处理 2 个视频时遇到了这个问题。第二个视频中缺少部分音频。解决方案是为 temp_audiofile 参数创建一个唯一的路径:video_clip.write_videofile(local_path, fps=24, audio_codec='aac', temp_audiofile=temp_audiofile)

慕神8447489

如果您无法始终如一地重现该问题,则很可能不是您的代码存在问题。尝试使用不同的程序(例如 VLC)打开生成的剪辑。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python