如何使用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")

 

posted @ 2020-03-03 10:27  wybert  阅读(3679)  评论(0编辑  收藏  举报