安装库
截取方法
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)
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.