zoukankan      html  css  js  c++  java
  • python利用opencv将一段大视频等份的切成多个小视频段

    在工作中刚好用到,按自己的需求写了一段

    import cv2
    cap = cv2.VideoCapture('video.mp4')
    cap.isOpened()
    width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
    height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
    
    print(width,height)
    
    if cap.isOpened():  # 当成功打开视频时cap.isOpened()返回True,否则返回False
        # get方法参数按顺序对应下表(从0开始编号)
        rate = cap.get(5)  # 帧速率
        FrameNumber = int(cap.get(7))  # 视频文件的帧数
        duration = FrameNumber / rate  # 帧速率/视频总帧数 是时间,除以60之后单位是分钟
        fps = int(rate)  #每一段小视频帧数
    
        i = 0
        while (True):
            success, frame = cap.read()
            if success:
                i += 1
                if (i % fps == 1):
                    videoWriter = cv2.VideoWriter(str(i) + '.mp4',
                                                  cv2.VideoWriter_fourcc('D', 'I', 'V', 'X'), fps,
                                                  (int(width), int(height)))
                    videoWriter.write(frame)
                else:
                    videoWriter.write(frame)
            else:
                print('end')
                break
    
    cap.release()
  • 相关阅读:
    洛谷P1613 跑路
    洛谷P2149 Elaxia的路线
    洛谷P3119 草鉴定
    洛谷P1972 HH的项链
    洛谷P2458 保安站岗
    uva10061
    uva579
    uva 127 "Accordian" Patience
    uva10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes?
    uva156
  • 原文地址:https://www.cnblogs.com/tianyun5115/p/11952941.html
Copyright © 2011-2022 走看看