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()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM