import cv2
start_frame=480
end_frame=498
# 读取视频文件
input_video_path = 'video_validation_0000932.mp4' # 输入视频文件路径
output_video_path = f'{start_frame}_{end_frame}.mp4' # 输出视频文件路径
cap = cv2.VideoCapture(input_video_path)
# 检查视频是否成功打开
if not cap.isOpened():
print("Error: Could not open video.")
exit()
# 获取视频帧率、宽度和高度
fps = cap.get(cv2.CAP_PROP_FPS)
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 定义视频编写器
fourcc = cv2.VideoWriter_fourcc(*'mp4v') # 使用 mp4 编码格式
out = cv2.VideoWriter(output_video_path, fourcc, fps, (width, height))
# 定位到start_frame帧
cap.set(cv2.CAP_PROP_POS_FRAMES, start_frame-1)
# 读取并保存第start帧到第end帧
for i in range(start_frame, end_frame+1):
ret, frame = cap.read()
if not ret:
print(f"Error: Could not read frame {i}.")
break
out.write(frame)
# 释放资源
cap.release()
out.release()
print(f"Saved frames from {start_frame} to {end_frame} to {output_video_path}")
Opencv输入开始结束帧,保存视频
最新推荐文章于 2024-08-08 18:36:45 发布