2016-06-23 12 views
-1

ウェブカメラストリームからビデオをキャプチャしようとしています。 PythonのロジックはWebカメラのビデオをPythonで録画する

ボタンを押すと、ストップ ボタンが押されるまで現在のストリームを保存します。

注:OpenCVを使用して、wxPythonウィンドウ内でウェブカメラビデオをストリーミングしています。

def record(self, evt): 
     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)) 

私は上記のコードを試しましたが、出力ディレクトリには5.54kbのファイルしか保存されていませんか?

どうすればよいですか?

+0

何か試しましたか? – Berriel

+0

いいえ、私はこれまでに何も試していません。なぜなら、私はPythonには新しいからです。 – SivamNatesan

+0

私はあなたの質問が広すぎると言いたいと思います。私はあなたにそれを試して、あなたが途中で直面するより具体的な問題に戻ってくることをお勧めします。私はここでこのような質問に対する答えは期待していません。 – Berriel

答えて

0

あなたは

out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))

によってビデオライタオブジェクトを設定していますが、ビデオフレームバッファを書くことwriteメソッドを使用していません。それ以外の場合は一つのフレームのみがなる、

success, buf = cap.read() 
out.write(buf) 
これはループに入れられるか、または wx.Timerによって呼び出されてい

はそれを行うには、あなたがによってインスタンス化ライターオブジェクトのwriteメソッドを呼び出す必要があります保存されました。

最後に、ストリーミングが完了したら、out.release()を実行してビデオファイルを閉じます。

関連する問題