我正在尝试实现如视频(使用netcat的方法3)所示的结果 https://www.youtube.com/watch?v=sYGdge3T30o
关键是将视频从树莓派流式传输到ubuntu PC并使用openCV和python处理它。
我用命令
raspivid -vf -n -w 640 -h 480 -o - -t 0 -b 2000000 | nc 192.168.0.20 5777
将视频流式传输到我的PC,然后在PC上创建名称管道“ fifo”并重定向输出
nc -l -p 5777 -v > fifo
Run Code Online (Sandbox Code Playgroud)
然后我试图读取管道并在python脚本中显示结果
import cv2
import sys
video_capture = cv2.VideoCapture(r'fifo')
video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640);
video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480);
while True:
# Capture frame-by-frame
ret, frame = video_capture.read()
if ret == False:
pass
cv2.imshow('Video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything is done, release the capture
video_capture.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
但是我最终会遇到一个错误
[mp3 @ 0x18b2940] …