栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

利用opencv + moviepy制作批量剪辑脚本

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

利用opencv + moviepy制作批量剪辑脚本

最近工作上需要剪辑大量的视频,网上找不到合适的模板。所以直接用python 做一个

完整代码如下:

from moviepy.editor import * 
from PIL import Image 
import cv2
import os
import numpy as np
def format_img(path):
    img = cv2.imread(path)
    print(path)
    top = (1280 - img.shape[0])//2
    left = (720 - img.shape[1])//2
    img_new = cv2.copyMakeBorder(img, top, top, left, left, cv2.BORDER_CONSTANT, None, (0,0, 0))
    cv2.imwrite(path, img_new)

def format_mask():
    path = './mask'
    for file in os.listdir(path):
        out_path = f'{path}/{file}'
        img = cv2.imread(out_path)
        img1 =cv2.resize(img, (720, 1280), interpolation=cv2.INTER_CUBIC)
        cv2.imwrite(out_path, img1)    

# format_mask()
def format_video(fileName, input_path, out_path):
    my_clip = VideoFileClip(input_path, audio=False)
    #获取书法作品
    hand_path = f'./photo/{fileName}.png'
    # 人物照片
    man_path = f'./man/{fileName}.png'
    format_img(hand_path)
    format_img(man_path)
    # 获取音乐
    music_list = os.listdir('./music')
    music_path = np.random.choice(music_list)
    music = AudioFileClip(f'./music/{music_path}')
    music.max_volume()
    
    # 字幕
    text_clip = TextClip('小金熊趣味硬笔', fontsize=70, font='./msyhl.ttc').set_duration(my_clip.duration).set_position(('left','bottom'))
    my_clip1 = CompositeVideoClip([my_clip, text_clip])
    clip = ImageSequenceClip([hand_path, man_path], fps = 1, durations=3)
    cc = concatenate_videoclips([my_clip1, clip])
    cc.set_audio(music)
    cc.audio = music
    cc.write_videofile(out_path, audio_codec='aac')
            
def main():
    path = './video'
    for file in os.listdir(path):
        out_path = f'./out_video/{file}'
        video_path = f'{path}/{file}'
        print(file.split('.')[0])
        format_video(file.split('.')[0], video_path, out_path)
main()

工程目录如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号