我将视频对象列表连接在一起,然后用 write_videofile 将它们写入,奇怪的是,当我第一次写入文件时,它在前半部分播放良好,然后文件中每个剪辑的前几帧在冻结之前播放。但奇怪的是,如果我在第一个视频写入后立即写入完全相同的视频对象,它会很好地写入并且播放完美。这是我的代码from moviepy.editor import VideoFileClip, concatenate_videoclipsfor 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 halfishvideofile.write_videofile("final2.mp4") # Works entirely fine.videofile.close有任何想法吗?任何建议表示赞赏。有时,当视频足够小时,第一次写起来似乎也很好。似乎没有中断的设定点,每次我第一次写它时,它通常会在不同的位置中断。我尝试等待线程退出并在连接后休眠,但这似乎无法解决问题。
3 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
我在同时写入多个视频时遇到了同样的问题write_videofile
,似乎后面的任务会write_videofile
通过挂起其写入进程来导致前面的任务输出错误,尽管后面的任务完成后进程会继续,之前任务的结果视频在挂点处破裂,尚未找到解决方案
慕斯王
TA贡献1864条经验 获得超2个赞
我在同时处理 2 个视频时遇到了这个问题。第二个视频中缺少部分音频。解决方案是为 temp_audiofile 参数创建一个唯一的路径:
video_clip.write_videofile(local_path, fps=24, audio_codec='aac', temp_audiofile=temp_audiofile)
添加回答
举报
0/150
提交
取消