Python輕松搞定視頻剪輯重復性工作問題

01 安裝
對視頻進行批量剪輯,需要三個庫,分別是Moviepy庫和Pathlib庫,還有Tkinter庫。
首先我們對這兩個庫進行安裝,命令如下:
pip install moviepy pip install pathlib
02 剪輯
上面我們已經(jīng)安裝好所需要的庫了,現(xiàn)在開始來對視頻進行剪輯操作。
視頻剪輯:
Moviepy庫有一個VideoFileClip函數(shù),將視頻傳入這個函數(shù)后,會返回一個VideoFileClip實例對象,該對象可以被subclip()進行剪輯,
代碼如下:
from moviepy.editor import *
clip = VideoFileClip('1.mp4').subclip(2,4)
# 將剪出的視頻進行存儲
clip.write_videofile('2.mp4')
視頻合并:
第一步跟視頻剪輯一樣,需要將合并的視頻傳入VideoFileClip函數(shù),使其成為一個VideoFileClip實例對象。然后調(diào)用Concatenate_videoclips函數(shù),將所有VideoFileClip實例對象的視頻進行合并,最后進行保存。
代碼如下:
from moviepy.editor import VideoFileClip,concatenate_videoclips
clip_1 = VideoFileClip('1.mp4')
clip_2 = VideoFileClip('2.mp4')
file = concatenate_videoclips([clip_1,clip_2])
file.write_videofile('3.mp4')
視頻轉化為gif:
將視頻轉化成gif非常簡單,當視頻經(jīng)過VideoFileClip函數(shù)處理成為VideoFileClip實例對象后,即可直接保存為gif格式。
代碼如下:
from moviepy.editor import *
file = VideoFileClip(k)
file.write_gif(f'{name}.gif')
批量:
上面只是對單個視頻,或者個別文件夾的視頻進行操作,但是我們想要的是批量進行剪輯、合并和轉化。這里,Pathlib庫給我們提供了兩個Path和PurePath函數(shù),可以很方便的找到電腦中mp4文件,
代碼如下:
files = []
p = Path(src_path)
for x in p.iterdir():
if PurePath(x).match('*.mp4'):
files.append(x)
之后和上面的代碼進行合并,即可實現(xiàn)批量獲取的功能 。
GUI界面:
程序的功能已經(jīng)全部實現(xiàn)了,我們現(xiàn)在需要對該程序進行界面設計,這里我們使用的Tkinter庫來進行界面設計,
代碼如下:
# 創(chuàng)建窗口
root = tk.Tk()
# 標題
root.title('視頻剪輯')
# 窗口大小
root.geometry('450x200')
# 窗口的初始位置
root.geometry('+400+200')
# 標簽的控件
label_1 = tk.Label(root, text='輸入文件地址', font=(r'蘇新詩柳楷簡.ttf', 16), fg='black')
label_1.grid()
label_2 = tk.Label(root, text='輸入剪輯時間', font=(r'蘇新詩柳楷簡.ttf', 16), fg='black')
label_2.grid()
# 輸入框
enter_1 = tk.Entry(root, font=(r'蘇新詩柳楷簡.ttf', 16))
enter_2 = tk.Entry(root, font=(r'蘇新詩柳楷簡.ttf', 16))
# 設置輸入框的位置
enter_1.grid(row=0, column=1)
enter_2.grid(row=1, column=1)
# 按鈕
button = tk.Button(root, text='開始', font=(r'蘇新詩柳楷簡.ttf', 16), command=jianjivideo)
# 設置按鈕的位置
button.grid(row=1, column=2)
# 顯示窗口
root.mainloop()
小結:
本文詳細介紹了,如何使用Moviepy庫和Pathlib庫,還有Tkinter庫,做一個批量處理視頻的軟件。
有興趣的同學可以自己復現(xiàn)一下代碼進行學習。
到此這篇關于Python輕松搞定視頻剪輯重復性工作問題的文章就介紹到這了,更多相關Python解決視頻剪輯重復性工作問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python連接sql?server數(shù)據(jù)庫的方法實戰(zhàn)
當我們用Python來編寫網(wǎng)站,必須要能夠通過python操作數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關于python連接sql?server數(shù)據(jù)庫的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-08-08
Python繪圖系統(tǒng)之散點圖和條形圖的實現(xiàn)代碼
這篇文章主要為大家詳細介紹了如何使用Python繪制散點圖和條形圖,文中的示例代碼講解詳細,對我們的學習或工作有一定的幫助,感興趣的可以了解一下2023-08-08

