VideoWriter outputs corrupted video file

后端 未结 3 1608
逝去的感伤
逝去的感伤 2020-12-19 06:13

This is my code to save web_cam streaming. It is working but the problem with output video file.

import numpy as np
im         


        
3条回答
  •  有刺的猬
    2020-12-19 07:03

    I added codec parameter to function cv2.videowriter.

    import numpy as np
    import cv2
    
    cap = cv2.VideoCapture(0)
    # Define the codec and create VideoWriter object
    #fourcc = cv2.cv.CV_FOURCC(*'DIVX')
            #out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
    fps = cap.get(cv2.CAP_PROP_FPS)
    width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)   # float
    height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
    codec = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')
    out = cv2.VideoWriter('output.avi',codec,fps, (int(width),\
                                                        int (height)))
    
    #out = cv2.VideoWriter('output.avi', -1, 20.0, (640,480))
    
    while(cap.isOpened()):
        ret, frame = cap.read()
                if ret==True:
                    frame = cv2.flip(frame,0)
    
                    # write the flipped frame
                        out.write(frame)
    
                        cv2.imshow('frame',frame)
                if cv2.waitKey(1) & 0xFF == ord('q') :
                break
                else:
                break
    
                # Release everything if job is finished
                cap.release()
                out.release()
                cv2.destroyAllWindows()
    
    

    I hope you may see what is different in my code and your code. Mine works now. Using MJPG codec for .avi extention the indention is a bit messed,please do forgive cause I am very first time user. The video file is no longer corrupt. I got the info from: Link

提交回复
热议问题