0、引言:
我搜刮了许多海康威视网络摄像机RTSP地址相关的帖子,格式各不相同。
这里记载一下我成功取到画面的RTSP地址格式。(我不是专业的,我用了其他人的一些格式没有成功,所以仅供参考。)
1、RTSP地址格式:
格式:
rtsp://username:password@<address>:<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:1234567@192.168.1.64/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< otPlayer
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |