Tôi muốn xử lý luồng video mm bằng OpenCV bằng Python. Luồng phát ra từ một camera IP mà tôi không kiểm soát được (màn hình giao thông). Các dòng có sẵn như là mms hoặc chương trình mmst -Cách Ghi Video Stream bằng OpenCV (Python)
mms://194.90.203.111/cam2
lượt trên cả VLC và Windows Media Player.
mmst://194.90.203.111/cam2
chỉ hoạt động trên VLC. Tôi đã cố gắng thay đổi lược đồ thành HTTP bằng cách phát lại bằng FFmpeg và VLC nhưng nó không hoạt động.
Theo như tôi hiểu, mms đang sử dụng Windows Media Video để mã hóa luồng. Không may mắn thêm '.mjpeg' vào cuối URI. Tôi chưa tìm thấy các loại streaming được chấp nhận bởi OpenCV.
Dưới đây là mã của tôi -
import cv2, platform
#import numpy as np
cam = "mms://194.90.203.111/cam2"
#cam = 0 # Use local webcam.
cap = cv2.VideoCapture(cam)
if not cap:
print("!!! Failed VideoCapture: invalid parameter!")
while(True):
# Capture frame-by-frame
ret, current_frame = cap.read()
if type(current_frame) == type(None):
print("!!! Couldn't read frame!")
break
# Display the resulting frame
cv2.imshow('frame',current_frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# release the capture
cap.release()
cv2.destroyAllWindows()
Các tôi thiếu gì? OpenCV có thể thu những loại luồng video nào? Có giải pháp thanh lịch nào không thay đổi hoặc chuyển mã chương trình không?
Cảm ơn!
Python ver 2.7.8, phiên bản OpenCV 2.4.9, Cả hai x86. Win7 x64
Có thể điều này sẽ giúp: http://petrkout.com/electronics/low-latency-0-4-s-video-streaming-from-raspberry-pi-mjpeg-streamer-opencv/ trong phần Khách hàng – Ryan
Cảm ơn @ Ryan! liên kết có rất nhiều thông tin tốt.Phần Python ở cuối đóng đinh nó. – NoamR