如何使用Python完成视频的快速剪辑
没有特别高效的方法,不过可以使用moviepy来进行尝试,这里的经验是,时刻注意自己的视频的大小和视频的长短,输出出来(这些参数)看看。不过这个moviepy不像在pr中的那样能够支持实时预览。但是能够支持预览其中的某些帧。这样其实对于简单的应用可以自动化的处理。
除了 moviepy之外,还可以使用这个工具:https://yuuno.encode.moe/。问题在于这个工具的编辑效率和速度也没有经过测试。
一下的代码实现,对一段运动的视频进行加速播放,时期变成60s,然后配上一段音乐并输出视频。试了一下大概20分钟的视频,按照代码中的设置,在我的上网本上需要运行6分钟。
# coding: utf-8 from moviepy.editor import * import datetime video_fileName = "WIN_20200302_22_49_10_Pro.mp4" audio_fileName = "song21719403.mp3" # 加速为 60s duration = 60 save_video_name = "day12.mp4" clip = VideoFileClip(video_fileName) print("video clip size:",clip.size) print("video duration:%s mins"%str(clip.duration/60)) # clip = clip.resize(0.50) clip = clip.resize(width = 640) print("video resize to:",clip.size) clip = clip.fx( vfx.speedx, final_duration = duration) print("change video duration to:",clip.duration) audioclip = AudioFileClip(audio_fileName) audioclip = audioclip.subclip(0,clip.duration) print("change audio duration to:",audioclip.duration) videoclip2 = clip.set_audio(audioclip) s = datetime.datetime.now() videoclip2.write_videofile(save_video_name) e = datetime.datetime.now() print("total used:",(e-s).seconds/60,"mins")