生活随笔
收集整理的這篇文章主要介紹了
moviepy常用操作-拼接镜头
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近需要處理很多視頻,因此要學習以下moviepy模塊,這里記錄一下最常用的內容
需求:
每個客戶單獨的片頭和片尾,共用核心素材,按照片頭(15秒左右)、片尾(12秒左右)、核心內容(30秒左右)、轉場鏡頭(2-3秒),每個鏡頭拍攝很多素材,然后隨機組合生成視頻,每個視頻至少12秒以上的內容不相同,輸出到每個客戶的文件夾里面。
素材庫里面的視頻,4個鏡頭混合拼接成新的視頻,代碼如下
import random
from moviepy.editor import *
import os,timeclient = 'yaowangtang'
#遍歷文件夾,找出所有mp4,flv視頻文件def func(filepath,clip_path = []):files = os.listdir(filepath)#查看當前目錄中的文件#print(files)for file in files:#拿到每一個文件名file_p = os.path.join(filepath,file)#形成文件的地址#print(file_p)file_name = file_p.split('.')if os.path.isdir(file_p):#如果文件是文件夾clip_path = func(file_p,clip_path = clip_path)elif file_name[-1] in ['mp4', 'flv', 'avi']:clip_path.append(file_p)# print(clip_path)else:continuereturn clip_pathn = 0
#引薦食譜的介紹語言random.randint(1,2)clip0 = random.choice([VideoFileClip(i) for i in func('D:\\店贏科技手冊\\視頻剪輯素材\\食譜引薦',clip_path = [])])for clip1_path in func(f'D:\\店贏科技手冊\\視頻剪輯素材\\片頭{client}',clip_path = []):#print(clip1_path)clip1 = VideoFileClip(clip1_path)for clip2_path in func('D:\\店贏科技手冊\\視頻剪輯素材\\抖音美食視頻',clip_path = []):#print(clip2_path)clip2 = VideoFileClip(clip2_path)for clip3_path in func(f'D:\\店贏科技手冊\\視頻剪輯素材\\片尾{client}',clip_path = []):#print(clip3_path)#實例化視頻clip3 = VideoFileClip(clip3_path)#連接視頻對象final_clip =concatenate_videoclips([clip1,clip0,clip2,clip3],method='compose',transition=None,bg_color=None, ismask=False, padding = 0)#輸出拼接的視頻到名為out_put.mp4的文件夾里n += 1order = time.strftime('%Y%m%d', time.localtime())if not os.path.exists(f'out_put{client}'):os.mkdir(f'out_put{client}')final_clip.write_videofile(f"./out_put{client}/{client}{order}{n}.mp4")
總結
以上是生活随笔為你收集整理的moviepy常用操作-拼接镜头的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。