Ask Your Question
0

Not able to save video using cv2.VideoWriter(...) on Ubuntu 16.04

asked 2018-01-15 10:40:16 -0500

prashant gravatar image

updated 2018-01-15 13:34:51 -0500

After running below code I am getting a "output.avi" file of 5.7KB.Nothing is recorded from camera.

# https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_video_display/py_video_display.html
import numpy as np
import cv2

cap = cv2.VideoCapture(0)

# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 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()

Please help.

edit retag flag offensive close merge delete

Comments

Try to swap w and h in video writer constructor: (480, 640). Are you sure the frame returned by video capture has this size?

mshabunin gravatar imagemshabunin ( 2018-01-15 13:02:46 -0500 )edit

@prashant - Maybe you should answer your own question. I learned something, so I'd rate it up.

sjhalayka gravatar imagesjhalayka ( 2018-01-15 19:38:50 -0500 )edit

1 answer

Sort by ยป oldest newest most voted
3

answered 2018-01-15 13:35:06 -0500

prashant gravatar image

Oh, you are right the webcam frame size is 1024, 1280. I used this

# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (int(cap.get(3)), int(cap.get(4))))

and video is saving now :) :) !!!. Thank you. But in website this code was given https://docs.opencv.org/3.0-beta/doc/...

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2018-01-15 10:40:16 -0500

Seen: 4,456 times

Last updated: Jan 15 '18