1.代码1
import subprocess 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) x1 = 240 # 裁剪区域左上角的x坐标 y1 = 0 # 裁剪区域左上角的y坐标 x2 = 1680 # 裁剪区域右下角的x坐标 y2 = 1080 # 裁剪区域右下角的y坐标 # 要裁剪的视频文件路径 video_path = r'E:\edge下载\80-\80-难度等级.mp4' # 裁剪后的视频文件路径 output_path = r'E:\edge下载\80-\80-难度等级_caihou.mp4' # 定义裁剪区域的宽度和高度 crop_width = x2 - x1 # 裁剪区域的宽度 crop_height = y2 - y1 # 裁剪区域的高度 # 使用示例 ffmpeg_crop(video_path, output_path, crop_width, crop_height, x1, y1)
2.代码2
from moviepy.editor import VideoFileClip # 要裁剪的视频文件路径 video_path = r'E:\edge下载\80-\80-难度等级.mp4' # 裁剪后的视频文件路径 output_path = r'E:\edge下载\80-\80-难度等级_caihou.mp4' # 加载视频 video = VideoFileClip(video_path) # 定义裁剪区域的左上角坐标 (x1, y1) 和右下角坐标 (x2, y2) # 这些坐标是基于视频原始分辨率的 x1 = 240 # 裁剪区域左上角的x坐标 y1 = 0 # 裁剪区域左上角的y坐标 x2 = 1680 # 裁剪区域右下角的x坐标 y2 = 1080 # 裁剪区域右下角的y坐标 # 使用crop方法裁剪视频 cropped_video = video.crop(x1=x1, y1=y1, x2=x2, y2=y2) # 将裁剪后的视频写入文件 cropped_video.write_videofile(output_path) # 释放资源 video.close() cropped_video.close()
标签:视频,裁切,python,裁剪,crop,video,坐标,path,80 From: https://www.cnblogs.com/jingzaixin/p/18148135