安装库

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)