2015-08-26 65 views
1

我试图编写一些代码,用于在Windows上通过批处理脚本激活时自动捕获网络摄像头中的视频。我设法拼凑了一个工作脚本,但它似乎并没有保存文件。我知道代码是(至少在基本级别上)工作的,因为没有错误,当代码运行时,网络摄像头上的激活指示灯亮起。如果有人对如何将它写入文件有任何建议,我已经复制了下面的代码,那太棒了!使用Python进行视频捕获

import numpy as np 
import cv2 
import msvcrt 

cap = cv2.VideoCapture(0) 
w=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 
h=int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 
sub=raw_input("Subject#: ") 

#Define the codec and create VideoWriter object 
#fourcc = cv2.VideoWriter_fourcc(*'DIVX') 
fourcc = cv2.VideoWriter_fourcc(*'FMP4') 
out = cv2.VideoWriter('C:\path\to\output_' + sub + '.mp4', fourcc, 30, (w,h)) 

while(cap.isOpened()): 
    ret, frame = cap.read() 
    if ret==True: 

     out.write(frame) 
     if msvcrt.kbhit(): 
      if ord(msvcrt.getch()) != None: 
       break 

    else: 
     break 

#Release everything if job is finished 
cap.release() 
out.release() 
cv2.destroyAllWindows() 

回答

0

编解码器FMP4只是不支持你的相机,我认为。无论在我的。如果我在代码中将编码更改为“MJPG”并写入“.avi”扩展名,则效果非常好。

P.S.想要发表评论,但我仍然未成年(< 50)。