cant play the saved video [closed]
I have tried many codecs , all but the last one produce 0 bytes video, the last codec does produce a video file with some but then its not playable . This problem is driving me crazy , The code I am using is tested by other users n working. I have copied the opencv_ffmpeg310_64.dll file into the c:\python2.7 folder. I am on windows 10 and opencv 3.1.0 I tried all types of CODEC none are working.
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
# Define the codec and create VideoWriter object
# Define the codec and create VideoWriter object
#fourcc = cv2.VideoWriter_fourcc(*'FFV1')
#fourcc = cv2.VideoWriter_fourcc(*'XVID')
#fourcc = cv2.VideoWriter_fourcc(*'DIVX')
#fourcc = cv2.VideoWriter_fourcc(*'DIV3')
#fourcc = cv2.VideoWriter_fourcc('F','M','P','4')
#fourcc = cv2.VideoWriter_fourcc('D','I','V','X')
#fourcc = cv2.VideoWriter_fourcc('D','I','V','3')
#fourcc = cv2.VideoWriter_fourcc('F','F','V','1')
fourcc = cv2.VideoWriter_fourcc('M','J','P','G')
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()
I suggest copying the ffmpeg dll to the same folder as the rest of the opencv dlls. Make sure it has a size larger than 0 bytes. Try the XVID fourcc. I know that one's in there, but I haven't seen the others.
also make sure, that the size you give to VideoWriter fits the frame size from the capture.
the CVID codec worked for me , and I found it by entering a "-1" instead of the codec and then manually selected the right codec. thanks for your help and advise as always
sorry, what CVID, where? how did you found it?