代码
import subprocess import os def get_all_mp4_files(directory): """获取指定文件夹下所有的MP4文件""" mp4_files = [] # 遍历指定目录及其子目录中的文件 for root, dirs, files in os.walk(directory): for file in files: # 检查文件扩展名是否为.mp4 if file.lower().endswith('.mp4'): # 将文件的完整路径添加到列表中 mp4_files.append(os.path.join(root, file)) return mp4_files def ffmpeg_crop(input_path, output_path, width, height, x, y): # 构建ffmpeg命令 cmd = [ 'ffmpeg', '-i', input_path, '-filter:v', f'crop={width}:{height}:{x}:{y}', # 注意这里的参数顺序 '-c:a', 'copy', # 确保-c:a后面紧跟的是copy,而不是output_path output_path ] # 执行ffmpeg命令 subprocess.run(cmd, check=True) # 要裁剪的视频文件路径 genmulu = r"F:\陈惟\blender\blender材质篇\yuan" video_list = get_all_mp4_files(directory=genmulu) for one in video_list: x1 = 240 # 裁剪区域左上角的x坐标 y1 = 0 # 裁剪区域左上角的y坐标 x2 = 1680 # 裁剪区域右下角的x坐标 y2 = 1080 # 裁剪区域右下角的y坐标 # 要裁剪的视频文件路径 video_path = one # 裁剪后的视频文件路径 output_path = r'%s.caiqiehou.mp4'% str(one) # 定义裁剪区域的宽度和高度 crop_width = x2 - x1 # 裁剪区域的宽度 crop_height = y2 - y1 # 裁剪区域的高度 # 使用示例 ffmpeg_crop(video_path, output_path, crop_width, crop_height, x1, y1)
标签:files,视频,裁切,python,裁剪,crop,mp4,output,path From: https://www.cnblogs.com/jingzaixin/p/18148951