沒有特別高效的方法,不過可以使用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")