還沒關注? 快來點這里!?

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

moviepy庫安裝

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

第一步:安裝moviepy

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

pip install moviepy

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

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

第三步:配置路徑

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

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

使用方法

視頻讀取

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

myclip = VideoFileClip("菜鳥小白.wmv")myclip = VideoFileClip("菜鳥小白的學習分享.gif")

視頻剪輯

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

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

將視頻進行合并

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

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

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

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

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

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

改變視頻的分辨率

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

將圖片列表變為視頻

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

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

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

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

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

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

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

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


粉絲福利

菜鳥小白特意為支持我的小伙伴提供了騰訊視頻會員月卡一張,點擊下方小程序即可參與抽獎哦~

    

往期推薦


太好用!圖片轉文字沒有python環境也能運行了!!!

通過server醬實現定時推送天氣情況,再不用擔心你的糊涂蛋女友忘帶傘了~~

想做一個天氣推送程序,卻被和風天氣API的示例代碼調試得快吐了

六十來行python代碼完成一個文件分類器

媳婦兒喜歡玩某音中的動漫特效,那我就用python做一個圖片轉化軟件。

PDFtoWORD_V1.1版本支持PDF文檔中的文字和圖片一起轉化到word文檔中了~

關注菜鳥小白的學習分享  更多精彩等你發 現!

一個人的學習——孤單

一群人的學習——幸福

喜歡我就點亮小花吧

讓更多人督促我們學習成長

文章轉載自微信公眾號菜鳥小白的學習分享