2017-08-01 2 views
4

ウェブカメラで再生するためのopencvコードを含むPythonコードを書いています。私はそれをraspi 3に添付しました。起動時に(起動する)、自動的にビデオ録画を開始します。 私はこれにcrontabを使用しています。ラズベリーpi3の起動時のビデオ録画の自動化

私のPythonコード:

import cv 

if __name__ == "__main__": 
# find the webcam 
capture = cv2.VideoCapture(0) 
capture1 = capture 
# video recorder 
fourcc = cv2.cv.CV_FOURCC(*'XVID') #cv2.VideoWriter_fourcc() does not exist 
videoOut = cv2.VideoWriter('out1.avi', fourcc, 10.0, (640, 480)) 
videoOut1 = cv2.VideoWriter('out2.avi', fourcc, 10.0, (640, 480)) 
# record video 
while (capture.isOpened() and capture1.isOpened()): 
    ret, frame = capture.read() 
    ret1, frame1 = capture1.read() 
    if ret: 
     videoOut.write(frame) 
     cv2.imshow('Video Stream', frame) 



    else: 
     break 
    if ret1: 
     frame1 = cv2.flip(frame1,1) 
     videoOut1.write(frame1) 
     cv2.imshow('Video Stream1', frame1) 

    else: 
     break 

    # Tiny Pause 
    key = cv2.waitKey(1) 

capture1.release() 
videoOut1.release() 
capture.release() 
videoOut.release() 
cv2.destroyAllWindows() 

その後、私はこのようになりますbashスクリプトを作った、

cd/
cd absolute path to my python file directory 
sudo python cam22.py 
cd/

cam22.pyが私のpythonの名前です。ファイル

は、その後私は2つのaviファイルのファイルが同じディレクトリに生成されますが、映像が記録されていない再起動後

@reboot path to my bash file 

を書き込むことによって、実行時にこのbashスクリプトを実行するためにcontrabを使用し、ウェブカメラが実行にはありません、私はこのbashファイルを実行してpythonファイルを実行すると完全に動作します。

コメントで示唆したように、私は、ログファイルを作成しました、それはエラーログショー(ビデオストリーム:542):示したのGtk-警告**:オープンできません表示:

+1

エラーをログに記録したい場合は、実際に何が起こっているのかを知るために '@reboot pathをmybashファイル>> logfile'に書き出してください。 – Bhavyanshu

+0

'cron'プロセスで利用できない画面やキーボードとの対話を削除しようとしています - imshow()、waitkey()' ... –

+0

@Bhavyanshuエラーログには(ビデオストリーム:542):Gtk-Warning **:表示を開くことができません: – Shirish

答えて

1

てみ.AVIことを意味し、それは()関数imshowを削除した後に正常に働いていた、waitkey( )。

0

2つのファイルがあることに生成されている場合つまり、crontabはうまく動作します。 それはまたによる誤った形式のスペルに生成されていないビデオが.AVIに変更し、コメントでマークSetchellによって示唆されるように、一度

fourcc = cv2.cv.CV_FOURCC('D', 'I', 'V', 'X') 
videoOut = cv2.VideoWriter('output1.AVI', fourcc, 20, (640, 480), 1) 
videoOut2 = cv2.VideoWriter('output2.AVI', fourcc, 20, (640, 480), 1) 
+0

こんにちは、私は手動でこのコードを実行すると、ビデオ録画が開始され、正しく保存されるため、ファイル形式が問題ではないはずです。 bashファイルも完全に動作し、私はそれをテストしました。私は質問を編集し、エラーログを追加しました。 @Abhishek Soni – Shirish

+0

これはハードウェアに関連するものだと思うが、プログラムの開始時にいくつかの睡眠を追加しようとしていると私に知らせる。 –

+0

昨日からこれをやっている。 @アビシェク・ソニ – Shirish

関連する問題