2017-08-01 52 views
4

我已經寫了一個python代碼,其中包含一些opencv代碼來播放我的攝像頭。我已將它附加到raspi 3.我希望在啓動時(啓動),它會自動開始錄製視頻。 我正在使用crontab。Raspberry 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的名字文件

然後我用contrab在運行時運行這個bash腳本寫

@reboot path to my bash file 

重啓2個AVI文件在同一目錄下生成,但視頻沒有被記錄後,攝像頭不運行,然而,當我自己執行這個bash文件來運行python文件時,它完美運行。

正如評論所說,我創建了一個日誌文件,則顯示錯誤日誌顯示(視頻流:542):GTK的警告**:無法打開顯示:

+1

很難說清楚,但是如果你想記錄錯誤,只要寫'@reboot路徑到我的bash文件>> logfile'知道實際發生了什麼。 – Bhavyanshu

+0

嘗試刪除可能無法用於'cron'進程的屏幕和鍵盤的交互 - ''imshow()','waitkey()'... –

+0

@Bhavyanshu錯誤日誌顯示(視頻流:542):Gtk-Warning **:無法打開顯示: – Shirish

回答

1

正如意見提出由Mark瑟特查,它消除imshow(),waitkey後工作正常( )。

0

如果兩個文件生成意味着crontab工作正常。 這也意味着,視頻不會產生由於錯誤的拼寫格式的AVI將其更改爲.avi和嘗試一次

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

我從昨天開始一直這樣做,甚至嘗試了2分鐘! @Ahishek Soni – Shirish