TP-Link全景摄像头接入群晖
最近需要一个可以覆盖整个房间的监控摄像头。
通常摄像头镜头的视角有限,只能覆盖一个区域。为了可以覆盖更大的区域,很多摄像头配备了云台可以调节朝向。但是云台带上电机后,一是体积做不小,放在屋顶垂下来不大好看,此外远程查看的时候,转来转去必然引人注意;另一种思路是使用鱼眼镜头,鱼眼镜头是一种超广角镜头,其视角接近180°,覆盖范围极广。
鱼眼镜头这种简单结构的摄像头正符合我的需求。淘宝搜索一番,选择了TP-Link TL-IPC55A。
选择这个摄像头有这么几个原因:
- 结构简单,体积小,和新风口和烟雾报警器这么大,安装在屋顶一点都不突兀。
- 支持Onvif协议。虽然现在出现很多智能摄像头,但是都使用了私有协议,需要专用App才能查看,这让我觉得隐私很没有安全感。
TP-Link官方提供的App功能还是挺丰富的,所谓的智能摄像头带的功能都有,连接速度还挺快,自带了1个月的云储存。只是这些功能都需要将图像传到云端。所以,这个App在用他给摄像头配好网之后就弃用了。在路由器openwrt中,配置防火墙,禁止摄像头的mac地址和wan通讯。此时,App已经无法查看图像了。
为了记录摄像头的数据,我尝试了几个开源方案:ZoneMinder、Shinobi。最后还是使用群晖的Surveillance Station。作为商业软件,其比开源的方案成熟很多:
-
用户权限控制的很细,比如我可以给育儿嫂分配了账号,只能看到宝宝的卧室的摄像头。甚至能细到某个账号只能看到图像听不到声音。
-
所有工作不需要云的参与,所以我把群晖整个也用防火墙阻挡了外网访问。
-
网页端全h5就可以看,不用安装插件,pc端有桌面客户端,移动端,都有App,很方便看。
-
支持鱼眼镜头的矫正,全景摄像头可以被切成4个视角并消除变形。
-
提供了内网就可以使用的API,可以方便和其他系统集成。
缺点嘛:价格贵。大于两个摄像头的话,其授权费用可以买好几个TP-Link TL-IPC55A了。
将摄像头禁止外网并使用Surveillance Station主要有两个问题:
-
摄像头的时间不对,猜想是摄像头连接不到外网的时间服务器。
-
鱼眼畸变无法矫正。
问题1比较简单,TL-IPC55A网页界面上,提供了设置ntp服务器的地址,本身群晖也提供了ntp服务,将其修改指向群晖即可。
对于问题2,Surveillance Station内部自建了鱼眼矫正,但是仅仅限于官方列表中的摄像头,TL-IPC55A不在此列。为了使其支持TL-IPC55A,我做了一番研究。
首先是ssh进群晖,转到Surveillance Station的安装文件夹。在我的设备中是/volume1/@appstore/SurveillanceStation
。
在里面翻一番,很容易就找到了/volume1/@appstore/SurveillanceStation/device_pack/camera_support
文件夹,里面包含了各种相机品牌。
ash-4.3# cd camera_support/
ash-4.3# ls
3S.conf Beward.conf fisheye.conf IQinVision.conf ONVIF_event.conf StorageOptions.conf
ABUS.conf BOSCH.conf FlexWATCH.conf ITX.conf Optica.conf Sumpple.conf
ACTi.conf Brickcom.conf Forenix.conf Jovision.conf Panasonic.conf Sunell.conf
Acumen.conf CANON.conf FOSCAM.conf JuFeng.conf PIXORD.conf TOSHIBA.conf
Afidus.conf CISCO.conf GeoVision.conf JVC.conf Reolink.conf TP-LINK.conf
AIPHONE.conf COMPRO.conf GeoVision.conf.bak LDLC.conf RetailSupport.conf TRENDNet.conf
Airlive.conf DAHUA.conf Grandstream.conf Levelone.conf ROBIN.conf Truen.conf
A-LINKING.conf Dericam.conf GrandTec.conf LILIN.conf SAMSUNG.conf TVT.conf
Alphafinity.conf DIGITUS.conf HAIKON.conf LINKSYS.conf SANYO.conf UBIQUITI.conf
AMCREST.conf DivioTec.conf HEDEN.conf LTS.conf SecuFirst.conf UDM.conf
A-MTK.conf D-Link.conf HiKam.conf LUPUS.conf Sentry360.conf Uniview.conf
Apexis.conf DynaColor.conf HIKVISION.conf MAGINON.conf SHANY.conf Vivotek.conf
Arecont.conf EDIMAX.conf HiLook.conf Messoa.conf SHARP.conf Vultech.conf
ASUS.conf Eminent.conf HI-SHARP.conf MicroView.conf SIEMENS.conf WansView.conf
AVer.conf Eneo.conf Hitron.conf Milesight.conf Skywatch.conf Y-CAM.conf
Avigilon.conf EnGenius.conf HJT.conf MINTEC.conf SMAX.conf Zavio.conf
AVTECH.conf ESCAM.conf Hunt.conf MOBOTIX.conf SMC.conf Zyxel.conf
AXIS.conf ETROVISION.conf iMege.conf Nexcom.conf Sony.conf
Aztech.conf EverFocus.conf INSTAR.conf NGOffice.conf SparkLAN.conf
BASLER.conf Ezviz.conf Intellinet.conf OncamGrandeye.conf Speco.conf
Beseye.conf EZWATCHING.conf iPUX.conf ONVIF.conf StarDot.conf
通过vi TP-LINK.conf
,看一下tp-link的配置文件,里面定义了一些型号。注意到这么一段:
[TP-LINK*NC450]
{BasicSettings}
api = tplink
firmware_list = 1.20,1.24
h264 = rtsp
audio_format = G711
camera_parameters = yes
ntp_server = Surveillance Station,pool.ntp.org,time.nist.gov,time.windows.com,disable
rtsp_protocol = tcp
force_restart_time = 90
force_sync_time = yes
device_entry = /onvif/service
event_entry = /onvif/service
imaging_entry = /onvif/service
media_entry = /onvif/service
ptz_entry = /onvif/service
ptz_xmax = 1
ptz_xmin = -1
ptz_ymax = 1
ptz_ymin = -1
可以看到熟悉的onvif
,说明他是一款onvif的相机。在Surveillance Station中,尝试选择tplink的NC450型号的配置文件,连接TL-IPC55A,发现可以连接成功,但是鱼眼畸变并没有矫正。
注意到上面的api=tplink
,猜想这里的意思是会通过tplink
为api去连接相机。
在官网上网络摄像机支持列表中,找到了一款配置类似的鱼眼相机GeoVision GV-FE520,尝试是否可以改造使其能够连接tplink的相机。
运行vi GeoVision.conf
,找到GV-FE520,试着将其api
改成tplink
。
[GeoVision*GV-FE520]
[GeoVision*GV-FE521]
{BasicSettings}
api = tplink
channel_list = profile_Default
default_channel = profile_Default
device_entry = /onvif/service
media_entry = /onvif/service
event_entry = /onvif/service
imaging_entry = /onvif/service
vendor = Geovision
model = GV-FE520/FE521
version_major = 2
version_minor = 0
重启Surveillance Station,然后尝试使用GeoVision GV-FE520的配置连接TL-IPC55A,发现可以连接成功,并且鱼眼畸变已经被完美矫正。
至此群晖Surveillance Station完美支持TP-Link TL-IPC55A。