本文包含一些利用Python快速实现的简单视频编辑操作,可以比Pr等软件更为高效的处理视频操作。【多个视频拼接操作】、【图片序列合成视频】、【视频转换为动图】、【视频压缩】和【视频裁剪】这些功能。
一、【多个视频拼接操作】
import os
import subprocess
def get_all_mp4_files(directory):
"""
获取指定目录中所有MP4文件的路径
:param directory: 目录路径
:return: 包含MP4文件路径的列表
"""
mp4_files = []
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".mp4"):
mp4_files.append(os.path.join(root, file))
return mp4_files
def concatenate_videos_ffmpeg(video_paths, output_path):
"""
使用ffmpeg合成多个视频文件
:param video_paths: 包含视频文件路径的列表
:param output_path: 输出视频文件路径
"""
# 创建一个临时文件,包含所有视频文件的路径
with open('video_list.txt', 'w') as f:
for video in video_paths:
f.write(f"file '{video}'\n")
# 使用ffmpeg合成视频,并添加 -fflags +genpts 参数
command = [
'ffmpeg', '-y', '-f', 'concat', '-safe', '0',
'-fflags', '+genpts', '-i', 'video_list.txt', '-c', 'copy', output_path
]
subprocess.run(command, check=True)
# 删除临时文件
os.remove('video_list.txt')
# 指定视频文件所在的目录
direc