大家好,感謝您的幫助。 我有這個功能來保存我的攝像頭拍攝的視頻的視頻。cv2適用於線程,但不適用於進程
import cv2
import multiprocessing
import threading
def rec():
# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
out.write(frame)
else:
break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()
如果我用它來與線程,所以用這個代碼,它工作得很好:
s1 = threading.Thread(target=rec)
s1.start()
但是如果我要開始另一個進程,使用下面的代碼,當我打開視頻它只包含有一些噪音的黑色框架。
s1 = multiprocessing.Process(target=rec)
s1.start()
我搜索了四周,但找不到任何解決方案。
另外,我使用Python 3.6
你真的想用多個進程寫入同一個文件,還是我看錯了你的問題? – PeterT
你讀錯了:)我想要一個主處理記錄,而主處理其他事情的子處理 – Weizen
我應該使用子進程而不是多處理? – Weizen