你知道嗎,用moviepy一行代碼就能夠快速剪輯視頻中某個區(qū)間的片段:
clip = VideoFileClip("videoplayback.mp4").subclip(50,60)
這一段代碼,能夠在3秒內將videoplayback.mp4的50秒-60秒的視頻片段提取出來,非常方便。
不僅如此,moviepy還支持添加字幕、調整音量、片段鏈接等功能。下面看看詳細的操作方法。
1.準備
開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。
(可選1) 如果你用Python的目的是數據分析,可以直接安裝Anaconda:Python數據分析與挖掘好幫手—Anaconda,它內置了Python和pip.
(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細指南。
請選擇以下任一種方式輸入命令安裝依賴 :
- Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
- MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
- 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install moviepy
2.視頻剪輯
剪輯個視頻,多大點事,比起下載PR,用Python 寫3行代碼,3秒剪輯不香嗎?
from moviepy.editor import*
# 剪輯50-60秒的音樂 00:00:50 - 00:00:60
video =CompositeVideoClip([VideoFileClip("videoplayback.mp4").subclip(50,60)])
# 寫入剪輯完成的音樂
video.write_videofile("done.mp4")
3.視頻拼接
“哦?Python?哼,那你肯定很難進行拼接工作吧,PR多方便,拖拽即可完成拼接。”
那你可真是太小看Python了,moviepy幾行代碼隨隨便便就能拼接許多片段:
from moviepy.editor importVideoFileClip, concatenate_videoclips
clip1 =VideoFileClip("myvideo.mp4")
# 結合剪輯,你甚至能夠完全自動化剪輯拼接視頻的操作
clip2 =VideoFileClip("myvideo2.mp4").subclip(50,60)
clip3 =VideoFileClip("myvideo3.mp4")
final_clip = concatenate_videoclips([clip1,clip2,clip3])
final_clip.write_videofile("my_concatenation.mp4")
結合剪輯,你甚至能夠完全自動化剪輯拼接視頻的操作。
4.逐幀變化
“那你能完成針對每一幀圖像的快速圖像處理嗎?PR可是做得到的哦”
那當然可以,教你如何反轉視頻每一幀的綠色和藍色通道:
from moviepy.editor importVideoFileClip
my_clip =VideoFileClip("videoplayback.mp4")
def scroll(get_frame, t):
"""
處理每一幀圖像
"""
frame = get_frame(t)
frame_region = frame[:,:,[0,2,1]]
return frame_region
modifiedClip = my_clip.fl(scroll)
modifiedClip.write_videofile("test.mp4")
5.導出GIF
哇,聽起來好像挺牛逼的,那用來導出到GIF嗎?
當然可以:
from moviepy.editor import*
# 剪輯50-60秒的音樂 00:00:50 - 00:00:60
video = CompositeVideoClip([VideoFileClip("videoplayback.mp4").subclip(50,60)])
my_clip.write_gif('test.gif', fps=12)
怎么樣,moviepy的這些技巧你學會了嗎?
-
代碼
+關注
關注
30文章
4751瀏覽量
68358 -
數據分析
+關注
關注
2文章
1429瀏覽量
34017
發(fā)布評論請先 登錄
相關推薦
評論