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}")
20240909_031119 视频片断截取 cv2库
原创
©著作权归作者所有:来自51CTO博客作者鲸鱼编程pyhui的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
七牛云直播转mp4并截取视频
利用七牛云指令把m3u8转成mp4,并截取视频
七牛 直播 mp4 视频截取 -
下载cv2库
pip install opencv-python ...
python 技术