untiy接入 海康威视网络摄像头

第一步,先设置摄像头

为摄像头插入电源和网线,注意,摄像头要和你的电脑处于同一网段之下,确保摄像头的电源线电压足够,否则通电后仍然找不到设备

查看摄像头的操作手册,一版实体的说明书上会带有电子版的pdf二维码,建议查看电子版,文档比较全,手册里提供了三种登录摄像头的方式,我们使用浏览器直接登录

注意使用IE浏览器,其他的浏览器会出现无法在线查看摄像头画面的情况,特别注意,win10自带了两个浏览器,Edge和IE,Edge不是IE

区分IE和Edge

2023/2/17补充,IE已经停止支持,可以使用edge的IE模式打开,IE模式在地址栏后方,如下图在这里插入图片描述

我的摄像头的默认ip和浏览器端口为 192.168.1.64:80,我们直接在浏览器地址栏里输入这个地址(可以只输ip不用加端口),需要我们设置用户名和密码

牢记的你的用户名和密码,如有必要,记录下来

设置用户名和密码后需要我们登录,登录后即可预览画面

如果需要修改诸如IP,端口等,参考你的设备说明书

第二步,播放视频

方法1 使用ump插件
有比较大的延时,但是很方便,如果对实时性不高推荐使用这个

注意Ump分为桌面版和移动版,桌面版支持win,linux,mac,webgl,移动版支持安卓和Ios,根据你的需求选择正确的版本(但不要同时导两个版本到一个工程里),两个版本我都会放在最后的链接里

导入插件后,在插件的Prefabs文件夹里,创建一个UniversalMediaPlayer预制体的实例(拖进scene面板)
创建这个预制体
找到这个预制体的RawImge物体,将RawImage的RawImage组件的Material替换为一个Sprites-Default(unity自带的材质),之所以要替换,是因为这个材质默认可能是透明材质,摄像机拍到的黑色区域可能是透明的

在UniversalMediaPlayer物体里,找到同名组件,在path里填入你的相机的网络视屏流地址请添加图片描述格式为
rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream
说明:
username: 第一步中的用户名 默认为admin
password:第一步中设置的密码,如果你没有按我说的记录下来,同时也忘了,你就惨了
ip: 设备IP。例如 192.0.1.64。
port: 网络流端口号,默认554,注意和你登录摄像头的网址端口不一样
codec:有h264、MPEG-4、mpeg4这几种,建议使用h264
channel: 通道号,起始为1。例如通道1,则为ch1。
subtype: 码流类型,主码流为main,辅码流为sub。

例如rtsp://admin:w12345678@192.168.1.64:554/h264/ch1/main/av_stream
填好后运行即可在编辑器里看到画面

如果需要使用代码为路径赋值,可以使用如下代码

using UMP;//命名空间

private UniversalMediaPlayer ump;//ump,用于拉取网络摄像头的视频
ump.Path = "视频流地址";
ump.Play();

但是,打包出来不一定能用,这和unity的版本以及插件的版本有关,unity2019之后的朋友,桌面版Ump请选择2.0.3版本,移动版ump请选择2.0.2版本,网上的1.几的ump在2019之后只能在编辑器用,打包出来是不能用的

除此之外,移动版还需要几个设置

1
在untiy的Edit/Preferences/Ump里,在安卓中点击选择LibVLC,并在你的UniversalMediaPlayer的高级选项里,查看是否有Android一项,如果有,则设置正确,如果没有,在点一下LibVLC按钮
请添加图片描述
2
在Project SettingPlayersOther Setting中不要设置Vulkan API,导出后可能没有视频。
请添加图片描述3
打包的时候,playerSetting/otherSetting网络类型设置为请添加图片描述

其余注意点

如果你使用电脑端,可能需要装一个VLC播放器,但是我是先装的VLC,再用的Ump,所以这一点不一定,如果你的Ump在编辑里不能用,可以试着装一个VLC,下载地址在最后

网络上有很多直播流地址,这些地址大多是失效的,不用再测试了,直接拉你的相机就好

可以使用 uniersalMediaPlayer组件的 .Path()方法来动态设置和获取播放路径,.isPlaying属性获取是否正在播放

方法2 使用海康威视原生SDK拉取视频流
速度快,延时很小
参考文章

视频播放异常及解决方案

Unity UMP插件编辑里运行正常,打包出来后报cant load “libvlccore“ library
主要由两种情况
一 不能出现中文路径,UMP不支持中文
二 首先检查一下你的UMP插件里的use installed VLC是不是打了对钩,如果是,你需要在电脑上装一个VLC软件请添加图片描述
VLC软件长这样,自己去百度搜即可,到处都是
请添加图片描述

如果没有打对钩,有三个dll不会被自动打包,需要你手动拖到打包出来的plugins文件夹里
请添加图片描述
我这里是64位的windows,你可以根据你的需要找对应的三个dll

unity使用ump拉取网络摄像头,只有声音,画面只有第一帧,然后卡住
原因在于拉错了流,将流从stream2切换到stream1问题解决

下载地址

vlc官网下载地址

ump2.0.3桌面版(win,linux,mac,webgl)和ump2.0.2移动版(android,ios)二合一下载
免费下载

参考文章,谢谢大佬
ump移动端
ump移动端2
ump拉取视频

  • 10
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值