我目前正在做一個運動檢測項目,當運動被檢測到時記錄視頻。現在錄製視頻時沒有錯誤,但當我檢查視頻時,它是0字節。任何幫助將非常感激。cv2.videowriter寫入0字節的文件(python)(opencv)
這是我的代碼:
camera = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640, 480))
我目前正在做一個運動檢測項目,當運動被檢測到時記錄視頻。現在錄製視頻時沒有錯誤,但當我檢查視頻時,它是0字節。任何幫助將非常感激。cv2.videowriter寫入0字節的文件(python)(opencv)
這是我的代碼:
camera = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640, 480))
問題是當你輸入幀大小不匹配的輸出視頻。
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640, 480))
這裏你promissing你的輸出視頻是640,480,它取決於你的輸入源(如果你不調整其大小)
您可以硬編碼(檢查的幀大小輸入視頻或流源)或使用下面的代碼:
w = cap.get(cv2.CAP_PROP_FRAME_WIDTH);
h = cap.get(cv2.CAP_PROP_FRAME_HEIGHT);
fourcc = cv2.VideoWriter_fourcc(*'DIVX')
out = cv2.VideoWriter('output.mp4',fourcc, 15.0, (int(w),int(h)))
我的建議被抓住而循環外框架和與框架的寬度和高度聲明VideoWritter那裏。 此外,如果無法正常工作,請嘗試將編解碼器從XVID更改爲DIVX或MJPG。
你在什麼操作系統上?你有沒有嘗試過不同的四CC? opencv_version -v顯示什麼視頻I/O? –
Windows 7 professional。我曾嘗試過XVID和MJPG。我在哪裏運行命令「opencv_version -v」 – Aplin
我在Mac/Linux上使用OpenCV,並且該命令在終端中運行 - 它可能不在Windows上,我不知道。 –