【发布时间】:2021-04-26 05:38:07
【问题描述】:
首先,感谢您的关注。 我正在尝试使用 opencv 和 ip 摄像头进行流式传输,但它只返回“[tcp @ 000001d5fce13580] uri 中缺少端口”。我已经在 VLC 上进行了测试,也已经在 JavaCV 上进行了测试,并且两者都适用。我已经检查了 MPEG 并且没问题。有没有人经历过这个并且可以提供帮助?
我和:
- WIN10
- OpenCV 4.5.1
代码:
import numpy as np
import cv2
def runCam():
print(cv2.getBuildInformation())
video_src = "rtsp://admin:myPWCam@192.168.1.223:554/Streaming/channels/1/"
cap = cv2.VideoCapture(video_src, cv2.CAP_FFMPEG)
while True:
ret, frame = cap.read()
try:
cv2.resizeWindow('Stream IP Camera OpenCV', 120300, 800)
cv2.imshow('Stream IP Camera OpenCV', frame)
except Exception as ex:
template = "An exception of type {0} occurred. Arguments:\n{1!r}"
message = template.format(type(ex).__name__, ex.args)
print(message)
break
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
runCam()
OPENCV 构建信息:https://gist.github.com/nathancn/745f543e3a6cd13d012855759bd0940d
我使用海康威视网络摄像机型号 DS-2CD2621G0-IS
【问题讨论】:
-
也许你需要明确地把端口。大多数来自相机的 rtsp 使用端口 554(除非有人更改它)。所以你可以试试:“rtsp://admin:myPWCam@192.168.1.223:554/Streaming/channels/1/”你也可以试试80端口
-
@api55 这个脚本是我从 uri 中删除端口的最后一个测试。放置门的备忘录属于此错误。
-
@api55 并在相机上配置了554端口并允许外部访问。
-
您也可以在视频捕获调用中不使用 cv2.CAP_FFMPEG 进行尝试吗? ffmpeg 有时会很奇怪和挑剔。
-
如果删除 cv2.CAP_FFMPEG 结果:gist.github.com/nathancn/84470e3e0f1f50d543169290580506bd
标签: python opencv stream video-capture