首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python cv2中将长视频剪辑保存在两个时间戳之间

在Python cv2中将长视频剪辑保存在两个时间戳之间
EN

Stack Overflow用户
提问于 2022-06-13 16:03:55
回答 1查看 357关注 0票数 1

我有一个小时长的视频,我想保存一个夹在两个时间戳之间--比如说,11:20-11:35。这是一帧一帧的最佳方式,还是有更好的方法?

EN

回答 1

Stack Overflow用户

发布于 2022-06-14 16:23:30

这是我一片狼藉所做的事情的要点。如果有更少的方法做这件事,我很想知道!我知道我可以在终端上使用ffmpeg完成它,但是我很好奇如何最好地使用cv2来完成它。

代码语言:javascript
复制
def get_clip(input_filename, output_filename,  start_sec, end_sec):
    # input and output videos are probably mp4
    vidcap = cv2.VideoCapture(input_filename)
    
    # math to find starting and ending frame number
    fps = find_frames_per_second(vidcap)
    start_frame = int(start_sec*fps)
    end_frame = int(end_sec*fps)
    vidcap.set(cv2.CAP_PROP_POS_FRAMES,start_frame)
    
    # open video writer
    vidwrite = cv2.VideoWriter(output_filename, cv2.VideoWriter_fourcc(*'MP4V'), fps, get_frame_size(vidcap))
    
    success, image = vidcap.read()
    frame_count = start_frame
    while success and (frame_count < end_frame):
        vidwrite.write(image)  # write frame into video
        success, image = vidcap.read()  # read frame from video
        frame_count+=1
    vidwrite.release()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72605811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档