0


海康威视网络摄像头RTSP地址格式以及验证地址正确性的方式

0、引言:

我搜索了很多海康威视网络摄像机RTSP地址相关的帖子,格式各不相同。

这里记录一下我成功取到画面的RTSP地址格式。(我不是专业的,我用了其他人的一些格式没有成功,所以仅供参考。)

1、RTSP地址格式:

格式:

rtsp://username:password@

:<port>/Streaming/Channels/<id>

翻译:rtsp://用户名:密码@IP地址:端口/Streaming/Channels/序号

其中,端口号默认是554,默认可省略不写;我的案例中序号1是主码流,序号2为子码流。

实例:

主码流:rtsp://admin:1234567@192.168.1.64/Streaming/Channels/1

或者:rtsp://admin:1234567@192.168.1.64:554/Streaming/Channels/1

子码流:rtsp://admin:1234567@192.168.1.64/Streaming/Channels/2

或者:rtsp://admin:1234567@192.168.1.64:554/Streaming/Channels/2

2、验证RTSP地址是否能够正确获取画面

如何知道自己写的RTSP地址是否有用呢?在网上看到比较多的方式是用VLC软件验证。这里提供三种我用到的方式,可以根据自己的条件任选一种即可:PotPlayer、VLC、opencv。

2.1 已有并使用PotPlayer软件读取地址


PotPlaye图标

操作:打开软件——空白处右键——打开——打开链接(快捷键CTRL+U) ——粘贴你的RTSP地址——确定。稍等几秒出现画面,如果未出现画面,尝试其他方案。

2.2 已有并使用VLC软件读取地址


VLC 图标

操作:左上角媒体——流(快捷键CTRL+S)

操作:网络——粘贴链接——串流——(目标设置)下一个——(转码选项)下一个。[目标设置和转码选项,不做选择我也能正常出画面。]

如果没有画面或者报错, 尝试其他方案,或者可以认为地址不正确。

2.3 使用opencv—python

在虚拟环境中安装opencv—python

pip install opencv-python

然后使用以下代码:

import cv2

url = "rtsp://admin:[email protected]/Streaming/Channels/1" # 双引号中更换为自己的RTSP地址
cap = cv2.VideoCapture(url)
ret, frame = cap.read()
while ret:
    ret, frame = cap.read()
    cv2.imshow("frame", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cv2.destroyAllWindows()
cap.release()

在安装了opencv的环境中运行以上代码,若出现实时画面,则地址有效,按q键结束程序。

若几秒后没有反应,则地址可能无效。

小结:关于画面延迟

观察以上三种方式所得到的实时画面延时:opencv——python<VLC<PotPlayer

标签: 网络 php 开发语言

本文转载自: https://blog.csdn.net/FiveSeconds/article/details/140782345
版权归原作者 FiveSeconds 所有, 如有侵权,请联系我们删除。

“海康威视网络摄像头RTSP地址格式以及验证地址正确性的方式”的评论:

还没有评论