今天來實現一個利用Python的moviepy類庫裁剪視頻的功能。寫這個功能的初衷是想批量的裁剪一下視頻,下面一起來看一下代碼吧!
目前我們實現的是將單獨一個視頻進行裁剪。本次我們將目前視頻截取一小段內容,並為其添加一個水印圖片。
我們使用python的moviepy類庫,首先安裝moviepy類庫,使用pip進行安裝,命令如下:
pip install moviepy
簡短的介紹一下,MoviePy是一個用於視頻編輯的python模塊,可以用它實現一些基本的操作(比如視頻剪輯,視頻拼接,插入標題),還可以實現視頻合成,還有視頻處理,或用它加入一些自定義的高級的特效。總之,它的功能還是蠻豐富的。此外,MoviePy可以讀寫絕大多數常見的視頻格式,甚至包括GIF格式!是不是很興奮呢?基於Python2.7以上的版本,MoviePy可以輕鬆實現跨平臺,Mac/Windows/Linux統統沒問題,這也以意味著,MoviePy項目可以部署到服務端,在服務端進行視頻處理。真是非常的厲害!
一起來看一下代碼
1、引入類庫
from moviepy.editor import *
2、編寫主要方法
def main(in_file, out_file):
我們設置兩個參數,輸入文件路徑和輸出文件路徑。
3、對輸入文件進行加載、控制剪切時間、添加掩碼操作
clip = VideoFileClip(in_file, audio=False).subclip(5, 10).add_mask()
4、選定圖片,添加水印
image_clip = ImageClip('./file/logo.jpg').set_start(0).set_duration(5)
5、設置水印圖片位置
# 設定圖片位置 左上
image_clip.set_position(("left", "top"))
6、合併操作
final = CompositeVideoClip([clip, image_clip])
7、寫入視頻資源
final.write_videofile(out_file)
共計7個步驟,就可以完成一個視頻的裁剪工作。還是非常方便的,後續準備進行視頻的批量裁剪工作。歡迎大家關注。
Python語言還是非常簡單易學的,在日常的生活中應用的也比較多。