自用python视频混剪小工具
·
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
生活不易,兼职小说推文生活,市面上的混剪软件都收费,老手艺人自己搞个小工具自己玩。记录一下自己的小工具,所有代码由AI生成,我本人只做审核和改错,不喜欢请勿喷。
提示:以下是本篇文章正文内容,下面案例可供参考
一、moviepy是什么?
moviepy 就是一个专门用来做视频编辑的 Python 工具库
二、使用步骤
1.安装及引用
pip install moviepy==1.0.3
代码如下(示例):
import os
import random
from datetime import datetime
from moviepy.editor import VideoFileClip, concatenate_videoclips
2.核心代码
代码如下(示例):
import os
import random
from datetime import datetime
from moviepy.editor import VideoFileClip, concatenate_videoclips
print("运行2")
MAX_SECOND = 360 ;#拼接视频5分钟长
# ========== 路径配置 ==========
#视频文件夹路径
#获取当前时间
now_time=datetime.now().strftime("%Y-%m-%d_%H_%M_%S")
#输出地址
out_path = r"D:\python\PythonApplication1\PythonApplication1\output\\"+now_time+".mp4"
def vide_marge(base,out):
#设置视频最大时长
files = []
for item in os.listdir(base):
full_path = os.path.join(base, item)
# 判断是不是【文件】,排除文件夹
if os.path.isfile(full_path):
files.append(item)
#拼接文件地址和文件名称
#我的视频文件统一命名为v1....v22....
video_paths=[]
for i in range(len(files)):
file_name = f"v{i}.mp4"
full_path = base_path + "\\" + file_name
video_paths.append(full_path)
print(video_paths[i])
#打乱地址列表输出
random.shuffle(video_paths)
# 读取视频
clips=[]
#获取第一个视频的大小
target_size = VideoFileClip(video_paths[0]).size
video_lenth=0.0;
print(target_size)
for path in video_paths:
clip=VideoFileClip(path)
#设置每个视频大小一直
clip=clip.resize(target_size)
#比较现有视频是已经超过5分钟
remaining = MAX_SECOND - video_lenth
if remaining<=0:
clip.close()
break
if clip.duration > remaining:
clip = clip.subclip(0, remaining)
video_lenth+= clip.duration
clips.append(clip)
print(video_lenth)
# 按顺序拼接,无任何特效
final_video = concatenate_videoclips(clips)
# 导出
final_video.write_videofile(out_path, codec="libx264", audio_codec="aac")
# 释放资源
for clip in clips:
clip.close()
final_video.close()
print("✅ 视频合并完成!")
总结
moviepy提供了多个视频处理的方法有需要的请自行了解
自动拼接多个视频
去掉视频原声
添加背景音乐、配音
裁剪视频片段
调整视频尺寸、分辨率
给视频加文字、水印
视频转 GIF
批量处理视频
需要的自提: https://pan.baidu.com/s/12N88BIV0UaJpJFltHzNFZQ?pwd=esdp
更多推荐


所有评论(0)