python也能玩視頻剪輯!moviepy操作記錄總結


  前幾篇文章咱們介紹了一下圖片的處理方式,今天咱們說說視頻的處理。python能夠支持視頻的處理么?當然是肯定的,人生苦讀,我用python。萬物皆可python。

moviepy庫安裝

  今天咱們需要使用的第三方是moviepy,moviepy是用於視頻編輯的Python模塊,可用於基本操作(例如剪切,串聯,標題插入),視頻合成(也稱為非線性編輯),視頻處理或創建高級效果。它可以讀取和寫入最常見的視頻格式,包括GIF。

第一步:安裝moviepy

  安裝的話首先需要使用pip命令進行安裝

1 pip install moviepy

第二步:安裝文本依賴庫ImageMagick

  安裝完成后,我們需要安裝依賴庫,僅當我們要編寫文本時,才嚴格要求ImageMagick。它也可以用作GIF的后端,但是可以在沒有ImageMagick的情況下使用MoviePy進行GIF。我們將下載的exe文件雙擊運行即可。

第三步:配置路徑

  安裝后,MoviePy將自動檢測ImageMagick,但Windows除外!。Windows用戶在手動安裝MoviePy之前,進入moviepy/config_defaults.py文件並提供名為Magick的ImageMagick二進制文件的路徑。它應該看起來像這樣

image

  這樣我們的moviepy就算是完成安裝好了。

使用方法

視頻讀取

  VideoFileClip是從視頻文件(支持大多數格式)或GIF文件讀取的剪輯對象。可以按照以下方式加載視頻:

1 myclip = VideoFileClip("菜鳥小白.wmv")

視頻剪輯

可以通過subclip函數將視頻的某幾秒視頻的剪出來

1 myclip2 = myclip.subclip(2,5)#將視頻中2-5秒的內容剪切出來

將視頻進行合並

列表中可以包含多個視頻剪輯對象

1 final_clip = concatenate_videoclips([myclip2,myclip3],method=‘compose’) #視頻合並

需要注意的是:當視頻列表中存在不同編碼方式的視頻對象時,

method=‘compose’是必要的,否則,如果輸入編碼方式不同的視頻會報錯。

對視頻的播放區域進行剪輯

1 final_clip.crop(x_center=x_center, y_center=y_center, width=width, height=height)

改變視頻的分辨率

1 final_clip.resize(newsize=(width, height))

將圖片列表變為視頻

其中images_list可以是圖像名稱列表,也可以是文件夾名稱。提供文件夾名稱或文件名稱列表時,可以選擇load_images=True指定所有圖像都應加載到RAM中。同時所有圖片都需要為同一個大小的圖片

1 image_clip = ImageSequenceClip(['1.jpg','2.jpg','3.jpg'], fps=1)

將兩個視頻同時放在一個畫面播放

1 CompositeVideoClip([myclip2.set_pos("left","center"),myclip3.set_pos("right","center")], size=(myclip2.w+myclip3.w, myclip2.h))
image

另外還支持漸進切換,下面示例說明myclip2對象在第5秒中切入,myclip3對象在第10秒中切入。

1 CompositeVideoClip([myclip2.set_start(5),myclip3.set_start(10)])

將多段視頻以列表方式播放

1 final_clip = clips_array([[myclip2,myclip3],[myclip3,myclip2]])
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM