Python调⽤海康威视⽹络相机之——python读取相机rtsp码流
显⽰画⾯
搜罗了⽹上⼀些关于如何在python中实现海康威视相机的连接与画⾯播放的资料,最直接的⽅式是通过rtsp流来实现。
海康的rtsp协议格式如下(参考:):
rtsp://[username]:[passwd]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream
主码流:
rtsp://admin:12345@192.168.1.64:554/h264/ch1/main/av_stream
rtsp://admin:12345@192.168.1.64:554/MPEG-4/ch1/main/av_stream
⼦码流:
rtsp://admin:12345@192.168.1.64/mpeg4/ch1/sub/av_stream
rtsp://admin:12345@192.168.1.64/h264/ch1/sub/av_stream
对于刚买的⽹络相机,需要你更改相机的IP,将其更改到与⾃⼰电脑同⼀个⽹段,即前三个地址⼀致。并且设置好相机的⽤户名和密码。
⽅式⼀:⽹页预览
打开电脑的IE浏览器(或其他浏览器),在地址栏输⼊你的相机的IP地址,如果还是全新的相机,请去海康官⽹下载SADP软件来更改相机的IP并激活相机( )。例如我在浏览器输⼊:192.168.1.64 然后⽹页显⽰登录界⾯如下:
输⼊ 相机的⽤户名和密码登录,在预览选项中可实时查看画⾯
⽅式⼆:VLC视频播放器预览
打开你的VLC media player视频播放器,选择 媒体->打开⽹络串流,在打开媒体->⽹络->请输⼊⽹络URL中填写上⾯提到的rtsp格式的URL;
然后点击播放,即可在该播放器中实时预览相机视频画⾯;
⽅式三:python读取rtsp流
python怎么读取桌面上的文件其中将下⾯的代码中的相应内容替换成你的就OK了,如相机⽤户名,密码,IP地址和端⼝号(常见为554)
import cv2
cap = cv2.VideoCapture("rtsp://username:passport@ip:port/Streaming/Channels/1")
ret, frame = ad()
while ret:
ret, frame = ad()
cv2.imshow("frame",frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
运⾏上述代码需要你安装相应的opencv库,我在anaconda下运⾏的,装的是opencv-python库。还需要你去官⽹下载海康的SDK(针对⾃⼰的电脑系统环境下载对应版本)将⾥⾯的HCNetSDKCom⽂件夹放在python代码同⽬录下!
⽅法三会出现画⾯卡顿的现象,具体原因分析可参考:
补充资料:
NTPLIB时间同步问题:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。