安装库
pip install opencv-python
截取方法
import cv2
def crop_video(input_video_path, start_seconds, end_seconds, output_video_path):
# 打开视频文件
cap = cv2.VideoCapture(input_video_path)
# 获取视频的帧率
fps = int(cap.get(cv2.CAP_PROP_FPS))
# 计算从起始秒到结束秒对应的帧范围
# 注意:因为帧是从0开始计数的,并且视频时间可能不是整数秒对齐,所以需要适当调整
start_frame = int(start_seconds * fps)
end_frame = int(end_seconds * fps)
# 设置视频的编码器和创建VideoWriter对象
# 注意:根据你的系统,可能需要更改fourcc代码
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
# 获取视频宽度和高度
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
out = cv2.VideoWriter(output_video_path, fourcc, fps, (width, height))
# 逐帧读取视频
frame_count = 0
while (cap.isOpened()):
ret, frame = cap.read()
if not ret:
break
frame_count += 1
# 检查是否到达开始帧
if frame_count >= start_frame:
# 如果到达结束帧,则退出循环
if frame_count > end_frame:
break
# 写入帧到输出视频
out.write(frame)
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
print(f"视频截取完成,并已保存到: {output_video_path}")
input_video = r"D:\20240901_135917 视频源\VID_20240806_153004.mp4" # 输入视频路径
start_time = 4 # 起始时间(秒)
end_time = 8 # 结束时间(秒)
output_video = r"C:\新建文件夹 (12)/output_video3.mp4" # 输出视频路径
crop_video(input_video, start_time, end_time, output_video)