ARM板 海康威视SDK使用_海康sdk arm
1,SDK下载
SDK下载地址:
海康开放平台
如下图:
此处下载两个 设备网络SDK_Linux64 V6.1.9.48_build20230410 与 设备网络SDK_ArmLinux64 V6.1.9.45_build20
设备网络SDK_ArmLinux64 V6.1.9.45 使用其中库(它没有提供示例demo)
设备网络SDK_Linux64 V6.1.9.48_build20230410 使用其中demo (不使用它的库,版本不对)
2,SDK编译
1,使用unzip 解压 SDK_Linux64 V6.1.9.48 取出其中的 consoleDemo 与 psdatacall_demo;
2,使用unzip 解压 HCNetSDKV6.1.9.45_build20220902_ArmLinux64_ZH_20240802154010.zip
3,将 HCNetSDKV6.1.9.45_build20220902_ArmLinux64_ZH_20240802154010 中库 全部拷贝到 consoleDemo/linux64/lib 同理拷贝到psdatacall_demo相应目录; 也可以将库都拷贝到/usr/lib 下;
consoleDemo编译过程
cd /home/nvidia/temp/consoleDemo/linux64/proj
修改Makefile:
root@ubuntu:/home/nvidia/temp/consoleDemo/linux64/proj# cat Makefile #SDK测试程序CXX = g++CXXFLAGS = -Wall -Wno-strict-aliasing -Wno-unused-variable#包含头文件路径SUBDIR = $(shell ls ../../src -R | grep /)SUBDIRS = $(subst :,/,$(SUBDIR))INCPATHS = $(subst ../../,-I../../,$(SUBDIRS))INCPATHS += -I../../include/VPATH = $(subst : ,:,$(SUBDIR))./SOURCE = $(foreach dir,$(SUBDIRS),$(wildcard $(dir)*.cpp))#将cpp的路径名称的.cpp后缀换为.oOBJS = $(patsubst %.cpp,%.o,$(SOURCE))#取出.o的文件名,不带路径OBJFILE = $(foreach dir,$(OBJS),$(notdir $(dir)))#.o输出到.OBJ目录下OBJSPATH = $(addprefix obj/,$(OBJFILE)) LIBPATH = ../lib/LIBS = -Wl,-rpath=./:./HCNetSDKCom:../lib -lhcnetsdk#EXE = ../lib/sdkTestEXE = ./sdkTest$(EXE):$(OBJFILE)$(CXX) -L$(LIBPATH) -o $(EXE) $(OBJFILE) $(INCPATHS) $(LIBS)$(OBJFILE):%.o:%.cpp$(CXX) -c -o $@ $< $(INCPATHS) -pipe -g -Wall#依赖文件DPPS = $(patsubst %.cpp,%.dpp,$(SOURCE))include $(DPPS)%.dpp: %.cppg++ $(INCPATHS) -MM $(CPPFLAGS) $ $@.$$$$; \\sed \'s,\\($*\\)\\.o[ :]*,\\1.o $@ : ,g\' $@; \\rm -f $@.$$$$ .PHONY:cleanclean:rm -rf $(OBJFILE)rm -rf $(DPPS)rm -rf $(EXE)root@ubuntu:/home/nvidia/temp/consoleDemo/linux64/proj#
修改所有的cpp 文件,将地址和用户名密码修改为设备自身的:
例如
编译:
输入make,如果没改Makefile 在lib 目录下
生成如下
运行
显示如下:
采集视频Demo:psdatacall_demo
问题:直接编译,可能缺少库,可以通过export 或者拷贝到/usr/lib 下解决
运行前修改Device.ini 内容为当前摄像头信息
运行过程:
结果视频:
播放ps.dat 成功表示采集成功。