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