untiy接入 海康威视网络摄像头
第一步,先设置摄像头为摄像头插入电源和网线,注意,摄像头要和你的电脑处于同一网段之下查看摄像头的操作手册,一版实体的说明书上会带有电子版的pdf二维码,建议查看电子版,文档比较全,手册里提供了三种登录摄像头的方式,我们使用浏览器直接登录注意使用IE浏览器,其他的浏览器会出现无法在线查看摄像头画面的情况,特别注意,win10自带了两个浏览器,Edge和IE,Edge不是IE我的摄像头的默认ip和浏览
第一步,先设置摄像头
为摄像头插入电源和网线,注意,摄像头要和你的电脑处于同一网段之下,确保摄像头的电源线电压足够,否则通电后仍然找不到设备
查看摄像头的操作手册,一版实体的说明书上会带有电子版的pdf二维码,建议查看电子版,文档比较全,手册里提供了三种登录摄像头的方式,我们使用浏览器直接登录
注意使用IE浏览器,其他的浏览器会出现无法在线查看摄像头画面的情况,特别注意,win10自带了两个浏览器,Edge和IE,Edge不是IE
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问题解决
下载地址
ump2.0.3桌面版(win,linux,mac,webgl)和ump2.0.2移动版(android,ios)二合一下载
免费下载
更多推荐
所有评论(0)