小编Noa*_*amR的帖子

如何使用OpenCV(Python)捕获视频流

我想使用Python处理带有OpenCV的mms视频流.该流来自我无法控制的IP摄像头(流量监控器).流可用作mms或mmst方案 -

mms://194.90.203.111/cam2
Run Code Online (Sandbox Code Playgroud)

在VLC和Windows Media Player上播放.

mmst://194.90.203.111/cam2
Run Code Online (Sandbox Code Playgroud)

仅适用于VLC.我试图通过使用FFmpeg和VLC重新流式传输将方案更改为HTTP,但它不起作用.

据我所知,mms正在使用Windows Media Video对流进行编码.没有运气在URI的末尾添加'.mjpeg'.我还没有找到OpenCV接受哪种类型的流媒体.

这是我的代码 -

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()
Run Code Online (Sandbox Code Playgroud)

我错过了什么?OpenCV可以捕获哪种类型的视频流?有没有方案改变或转码的优雅解决方案?

谢谢!

Python …

python video streaming opencv live-streaming

7
推荐指数
1
解决办法
3万
查看次数

标签 统计

live-streaming ×1

opencv ×1

python ×1

streaming ×1

video ×1