91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python解決視頻剪輯重復性工作問題

發布時間:2021-12-21 10:46:16 來源:億速云 閱讀:245 作者:小新 欄目:開發技術

小編給大家分享一下如何使用Python解決視頻剪輯重復性工作問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

01 安裝

對視頻進行批量剪輯,需要三個庫,分別是Moviepy庫和Pathlib庫,還有Tkinter庫。

首先我們對這兩個庫進行安裝,命令如下:

pip install moviepy
pip install pathlib

02 剪輯

上面我們已經安裝好所需要的庫了,現在開始來對視頻進行剪輯操作。

視頻剪輯:

Moviepy庫有一個VideoFileClip函數,將視頻傳入這個函數后,會返回一個VideoFileClip實例對象,該對象可以被subclip()進行剪輯,

代碼如下:

from moviepy.editor import *
clip = VideoFileClip('1.mp4').subclip(2,4)
# 將剪出的視頻進行存儲
clip.write_videofile('2.mp4')

視頻合并:

第一步跟視頻剪輯一樣,需要將合并的視頻傳入VideoFileClip函數,使其成為一個VideoFileClip實例對象。然后調用Concatenate_videoclips函數,將所有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非常簡單,當視頻經過VideoFileClip函數處理成為VideoFileClip實例對象后,即可直接保存為gif格式。

代碼如下:

from moviepy.editor import *
file = VideoFileClip(k)
file.write_gif(f'{name}.gif')

批量:

上面只是對單個視頻,或者個別文件夾的視頻進行操作,但是我們想要的是批量進行剪輯、合并和轉化。這里,Pathlib庫給我們提供了兩個PathPurePath函數,可以很方便的找到電腦中mp4文件,

代碼如下:

files = []
p = Path(src_path)
for x in p.iterdir():
if PurePath(x).match('*.mp4'):
files.append(x)

之后和上面的代碼進行合并,即可實現批量獲取的功能 。

GUI界面:

程序的功能已經全部實現了,我們現在需要對該程序進行界面設計,這里我們使用的Tkinter庫來進行界面設計,

代碼如下:

# 創建窗口
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()

看完了這篇文章,相信你對“如何使用Python解決視頻剪輯重復性工作問題”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西城区| 阳西县| 乃东县| 拜泉县| 舞阳县| 福州市| 乌兰察布市| 米脂县| 兖州市| 广宁县| 成安县| 鄄城县| 曲阳县| 淮阳县| 伊吾县| 九台市| 嘉鱼县| 平利县| 靖远县| 建平县| 郁南县| 大渡口区| 弥勒县| 盐山县| 伊金霍洛旗| 鄢陵县| 广安市| 榕江县| 广水市| 铁力市| 竹北市| 乐昌市| 建宁县| 互助| 墨竹工卡县| 池州市| 棋牌| 桓台县| 曲阳县| 太康县| 宾川县|