我想mp4在一個行程中運行一些視頻,但只有相機輸入有效。軟體卡住了,沒有錯誤訊息。我已經嘗試了這兩種方法,但發現它無法運行。列印是代碼卡住的地方。
import cv2
import multiprocessing
dispW=640
dispH=480
# Camera inputs
cap=cv2.VideoCapture('/home/kc/Downloads/darknet/1.mp4')
cap.set(cv2.CAP_PROP_FRAME_WIDTH, dispW)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, dispH)
#cv2.namedWindow("Window")
def c1():
global cap
while True:
print('here')
success, img = cap.read()
#ret, frame1 = cap1.read()
#frame2 = numpy.hstack((frame,frame1))
print('here')
cv2.imshow("Window2", img)
#This breaks on 'q' key
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
tCap1 = multiprocessing.Process(target=c1)
tCap1.start()
這運行。
import cv2
import multiprocessing
dispW=640
dispH=480
# Camera inputs
cap=cv2.VideoCapture('/dev/video0')
cap.set(cv2.CAP_PROP_FRAME_WIDTH, dispW)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, dispH)
#cv2.namedWindow("Window")
def c1():
global cap
while True:
success, img = cap.read()
#ret, frame1 = cap1.read()
#frame2 = numpy.hstack((frame,frame1))
print('here')
cv2.imshow("Window2", img)
#This breaks on 'q' key
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
tCap1 = multiprocessing.Process(target=c1)
tCap1.start()
我需要一個以多處理方式運行的 mp4 檔案示例。
uj5u.com熱心網友回復:
這是一個帶有可選 FPS 控制元件的最小作業示例。如果您需要將行程中的幀提取回主程式,則可以使用multiprocessing.Queue()傳輸幀,因為多行程具有獨立的記憶體堆疊。
import multiprocessing as mp
import cv2, time
def capture_frames():
src = 'test.mp4'
capture = cv2.VideoCapture(src)
capture.set(cv2.CAP_PROP_BUFFERSIZE, 2)
# FPS = 1/X, X = desired FPS
FPS = 1/120
FPS_MS = int(FPS * 1000)
while True:
# Ensure camera is connected
if capture.isOpened():
(status, frame) = capture.read()
# Ensure valid frame
if status:
cv2.imshow('frame', frame)
else:
break
if cv2.waitKey(1) & 0xFF == ord('q'):
break
time.sleep(FPS)
capture.release()
cv2.destroyAllWindows()
if __name__ == '__main__':
print('Starting video stream')
capture_process = mp.Process(target=capture_frames, args=())
capture_process.start()
相關攝像頭/IP/RTSP/流媒體、FPS、視頻、執行緒和多處理帖子
來自相機的 Python OpenCV 流式傳輸 - 多執行緒、時間戳
使用 OpenCV cv2.VideoCapture 在 Python 中從 IP 攝像機進行視頻流傳輸
如何使用 OpenCV 捕獲多個攝像機流?
OpenCV 實時流式視頻捕獲很慢。如何丟幀或實時同步?
使用 OpenCV VideoWriter 將 RTSP 流存盤為視頻檔案
OpenCV 視頻保存
Python OpenCV 多處理 cv2.VideoCapture mp4
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/471840.html
標籤:Python python-3.x opencv 视频 多处理
