我的脚本将两个电影文件作为输入,并写入2x1阵列电影输出(立体并排半宽)。输入视频片段具有相同的分辨率(1280x720),帧率(60),帧数(23,899),格式(mp4)...... 当write_videofile函数开始处理时,它提供了一个非常合理的估计完成时间~20分钟。当它处理每一帧时,过程变得越来越慢,越来越慢(由进度条和估计的完成时间表示)。在我的例子中,输入影片剪辑大约6分钟。处理三分钟后,表示完成需要3个多小时。经过半小时的处理后,它表明将需要24小时才能完成。 我已经尝试了write_videofile函数的'threads'选项,但没有帮助。 任何的想法?谢谢你的帮助。
----脚本----
movie_L = 'movie_L.mp4'
movie_R = 'movie_R.mp4'
output_movie = 'new_movie.mp4')
clip_L = VideoFileClip(movie_L)
(width_L, height_L) = clip_L.size
clip_L = clip_L.resize((width_L/2, height_L))
clip_R = VideoFileClip(movie_R)
(width_R, height_R) = clip_R.size
clip_R = clip_R.resize((width_R/2, height_R))
print("*** Make an array of the two movies side by side")
arrayClip = clips_array([[clip_L, clip_R]])
print("*** Write the video file")
arrayClip.write_videofile(output_movie, threads=4, audio = False)
答案 0 :(得分:0)
我意识到这已经过时了,但对于仍有这个问题的人来说,一定要加上
progress_bar = False
代码。 EG。
arrayClip.write_videofile(output_movie, threads=4, audio = False, progress_bar = False)
每次更新到IDLE时打开进度条会占用大量内存,从而减慢程序直到完全停止。