IPCam网络摄像头

article/2025/10/19 3:54:45

文章目录

  • 软件安装及编译环境搭建及代码获取
    • 1、于VirtualBoxVM安装Ubuntu
    • 2、Ubuntu开机设定
    • 3、MobaXterm安装及开发板连接
    • 4、套件安装以及SDK编译
    • 5、 如何获取代码
    • 6、如何更新代码
  • IPCam网络摄像头
    • 7、如何编译IPcam
    • 8、配置板端资源以及环境
    • 9、参数配置及运行效果
      • 9.1参数配置文件
      • 9.2运行效果
    • 10. 相关链接

软件安装及编译环境搭建及代码获取

点击下载 Virtualbox VM 和 Ubuntu 20.04 LTS

1、于VirtualBoxVM安装Ubuntu

建立新的VM,并加以命名

image-20221011180533233

规划8GB内存供VM使用。

image-20221011180558656

创建硬盘
image-20221011180634330

image-20221011180705273

预留200GB硬盘空间,供后续存放SDK用。

image-20221011180725151

2、Ubuntu开机设定

第一次开机需要挂载安装光盘ISO挡案

image-20221011180927848

开始安装

wps5

(如需在虚拟机上使用共享剪贴板和共享文件夹等提升使用体验,请自行搜索方法,此处不再赘述)

3、MobaXterm安装及开发板连接

官网地址:

https://mobaxterm.mobatek.net/

将开发板上通过串口转TTL板与电脑连接

注意板端的RX脚接 usb-ttl 的TX脚,板端TX脚接 usb-ttl 的RX脚

请添加图片描述

使用mobaxterm配置串口终端

请添加图片描述

终端显示

[root@cvitek]~#

4、套件安装以及SDK编译

在编译SDK之前,Ubuntu需要安装以下套件:

sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install -y ninja-build 
sudo apt-get install -y automake 
sudo apt-get install -y autoconf 
sudo apt-get install -y libtool
sudo apt-get install -y wget
sudo apt-get install -y curl
sudo apt-get install -y git
sudo apt-get install -y gcc
sudo apt-get install -y libssl-dev
sudo apt-get install -y bc
sudo apt-get install -y slib
sudo apt-get install -y squashfs-tools
sudo apt-get install -y android-sdk-libsparse-utils 
sudo apt-get install -y android-sdk-ext4-utils
sudo apt-get install -y jq
sudo apt-get install -y cmake
sudo apt-get install -y python3-distutils
sudo apt-get install -y tclsh
sudo apt-get install -y scons
sudo apt-get install -y parallel
sudo apt-get install -y ssh-client 
sudo apt-get install -y tree 
sudo apt-get install -y python3-dev
sudo apt-get install -y python3-pip 
sudo apt-get install -y device-tree-compiler
sudo apt-get install -y libssl-dev
sudo apt-get install -y ssh
sudo apt-get install -y cpio
sudo apt-get install -y squashfs-tools
sudo apt-get install -y fakeroot
sudo apt-get install -y libncurses5
sudo apt-get install -y flex 
sudo apt-get install -y bison

检查cmake版本

cmake --version

如果小于版本号3.16则需要更新cmake,以3.16.5为例

# 注意先删除低版本cmake
sudo apt autoremove cmakewget https://cmake.org/files/v3.16/cmake-3.16.5.tar.gz
tar zxvf cmake-3.16.5.tar.gz
cd cmake-3.16.5/
./configure
make
sudo make install

获取SDK源码

git clone https://github.com/sophgo/sophpi-huashan.git

编译

1.cd mmf-sdk/
2.source build/cvisetup.sh 				# 配置编译环境
3.defconfig cv1812h_wevb_0007a_emmc	
4.build_all								# 编译SDK

编译成功

请添加图片描述

生成的镜像在install/soc_cv1812h_wevb_0007a_emmc

请添加图片描述

5、 如何获取代码

进入源码网址

请添加图片描述

通过git clone + github地址git clone https://github.com/sophgo/sophpi-huashan.git

请添加图片描述

6、如何更新代码

在sophpi-huashan的repo路径下打开终端git pull origin master		# 从origin远程仓库拉取master分支

请添加图片描述

note:使用前请确保配置好相关环境,未配置见《软件安装编译环境搭建》

IPCam网络摄像头

7、如何编译IPcam

# 配置编译环境
1.cd mmf-sdk/
2.source build/cvisetup.sh 
3.defconfig cv1812h_wevb_0007a_emmc
4.build_all								# 编译sdk

8、配置板端资源以及环境

1.通过NFS或者sd卡把下面内容拷贝到板端/data/mnt/mmf-sdk/middleware/v2/sample/ipcam/mars/ipcam_marsmmf-sdk/middleware/v2/sample/ipcam/parameter/mars/param_config_ai.inimmf-sdk/middleware/v2/sample/ipcam/resource/ai_models/mars并且把mars 目录名改成ai_models:mv mars ai_models
2.连接网线并且配置板端网路:ifconfig eth0 192.168.1.3 netmask 255.255.255.0并且把PC端的网络配置成 在同一网段。
3.运行IPCam./ipcam_mars -i param_config_ai.ini &
4.通过PC端的VLC连接板端的rtsp 看视频流连接地址为:rtsp://192.168.1.3:8554/live0 # 大码流rtsp://192.168.1.3:8554/live1 # 小码流

windows下VLC播放器设置

请添加图片描述

请添加图片描述

9、参数配置及运行效果

9.1参数配置文件

打开文件param_config_ai.ini,部分配置如下,默认即可

屏幕显示对象配置

......[osdc_objs_info]
cnt        = 3			; 绘制对象数目[osdc_obj_info0]
bShow           = 1		; 显示使能
type            = 0 ; 0: rect, 1: bitmap, 2: line, 3: buff	; 显示元素类型 0:矩形 1:位图 2:线 3:缓冲区
color           = 0xff00ffff	; 颜色
x1           	  = 500						; 显示区域的左上角点坐标(横轴)
y1          	  = 500						; 显示区域的左上角点坐标(纵轴)
width        	  = 100						; 显示区域宽度 
height        	= 100					  ; 显示区域高度 
filled        	= 0						  ; 是否填充
thickness       = 4						  ; 显示边线粗细[osdc_obj_info1]
bShow           = 1
type            = 2 ; 0: rect, 1: bitmap, 2: line, 3: buff
color           = 0xff00ffff
x1           	= 800
y1          	= 800
x2              = 1000
y2              = 1000
thickness       = 4[osdc_obj_info2]
bShow           = 1
type            = 0 ; 0: rect, 1: bitmap, 2: line, 3: buff
color           = 0xff00ffff
x1           	= 1000
y1          	= 1000
width        	= 200
height        	= 200
filled        	= 1
thickness       = 4......

屏幕显示元素配置

......; osd config
[osd_config]
osd_enable_all  = 1			; 是;否使能所有显示元素
osd_cnt         = 12		; 屏;显示元素数目; osd attach to main streaming
[osd0]
show            = 1			; 显示使能
handle          = 0			; 句柄号
type            = 2 ; 0:TYPE_PICTURE, 1: TYPE_STRING, 2:TYPE_TIME ; 0:图片类型	   1:字符类型	    2:实时时间类型mod_id          = 6 ; 6: CVI_ID_VPSS	; 模块号	
dev_id          = 0						; 设备号
chn_id          = 0						; 通道号
s32x            = 20					; 显示区域起始点坐标
s32y            = 20
rec_width       = 24					; 显示区域宽度
rec_heigh       = 24					; 显示区域高度[osd1]
show            = 1
handle          = 1
type            = 1 ; 0:TYPE_PICTURE, 1: TYPE_STRING, 2:TYPE_TIME
mod_id          = 6 ; 6: CVI_ID_VPSS
dev_id          = 0
chn_id          = 0
s32x            = 20
s32y            = 60
rec_width       = 24
rec_heigh       = 24
str             = "cvitek main streaming demo"		; 字符内容[osd2]
show            = 1
handle          = 2
type            = 1 ; 0:TYPE_PICTURE, 1: TYPE_STRING, 2:TYPE_TIME
mod_id          = 6 ; 6: CVI_ID_VPSS
dev_id          = 0
chn_id          = 0
s32x            = 20
s32y            = 100
rec_width       = 24
rec_heigh       = 24
str             = "北京晶视智能科技有限公司"......

配置模型参数(以face_detection为例)

......[ai_fd_config]
fd_enable        = 1		; 人脸检测使能
fr_enable        = 1		; 人脸识别使能
mask_enable      = 0		; 口罩使能
capture_enable    = 1		; 捕获使能(开启的话需要挂载sd卡到/mnt/sd,系统检测到人脸一定时间会保存图片到sd卡)
face_ae_enable   = 0		; 
vpss_grp         = 4		; 视频处理子系统组号
vpss_chn         = 0		; 通道号
fd_poolid        = 6		; 
grp_width        = 960		;	
grp_height       = 540		;
model_width      = 768		; 模型宽度
model_height     = 432		; 模型高度
vpssPreProcSkip  = 0		; 跳过视频处理预处理使能
threshold_fd     = 0.7		; 人脸检测阈值
threshold_fr     = 0.7		; 人脸识别阈值
threshold_mask   = 0.7		; 戴口罩人脸检测阈值
model_id_fd      = 30 ;0:CVI_AI_SUPPORTED_MODEL_RETINAFACE;30:CVI_AI_SUPPORTED_MODEL_FACEMASKDETECTION
model_id_fr      = 6 ;3:CVI_AI_SUPPORTED_MODEL_FACERECOGNITION
model_id_mask    = 7 ;7:CVI_AI_SUPPORTED_MODEL_MASKCLASSIFICATION
model_path_fd    = "/mnt/data/ai_models/retinaface_mask.cvimodel"		; 模型路径
model_path_fr    = "/mnt/data/ai_models/cviface-v5-s.cvimodel"
model_path_mask  = "/mnt/data/ai_models//mask_classifier.cvimodel"; 检测框设置
color_r          = 7.0													
color_g          = 10.0
color_b          = 230.0		
color_size       = 4		......

9.2运行效果

该系统实现了人脸检测和识别、运动检测、行人检测等功能

note:以人脸检测为例,图中红色为人脸检测绘制框,蓝色框为屏幕显示元素

请添加图片描述

10. 相关链接

样例开源仓库:https://github.com/sophon-ai-algo/examples

BM1684 BMNNSDK文档:https://developer.sophgo.com/site/index/document/6/all.html

编译工具用户开发手册: https://doc.sophgo.com/docs/2.7.0/docs_latest_release/nntc/html/index.html

量化工具用户开发手册: https://doc.sophgo.com/docs/2.7.0/docs_latest_release/calibration-tools/html/index.html

算能量化工具介绍及使用说明:https://www.bilibili.com/video/BV1DA4y1S75p?spm_id_from=333.999.0

官网视频教程:https://developer.sophgo.com/site/index/course/all/all.html

官网文档中心:https://developer.sophgo.com/site/index/document/all/all.html

官网下载中心:https://developer.sophgo.com/site/index/material/all/all.html

官网论坛:https://developer.sophgo.com/forum/view/43.html

算丰学院:https://www.sophgo.com/curriculum/index.html


http://chatgpt.dhexx.cn/article/Zl4OlQk8.shtml

相关文章

如何低成本化实时网络摄像头监控直播?

大众直播时代,处处有直播,直播已经在方方面面改变着人们的生活和工作。随着网络直播应用生态的越发完善,你会发现,很多传统监控升级为互联网直播的应用越来越多。那么,如何将常规监控摄像头转为互联网直播?…

【解决方案】5G时代浪潮来袭,EasyNVR助力5G厂区视频监控安防采集可视化展示

智慧工厂被认为是5G技术的重要应用场景之一,利用5G网络将生产设备无缝连接,并进一步打通设计、采购、仓储、物流等环节,满足工业环境下设备互联和远程交互应用需求。TSINGSEE青犀视频面向工厂智能化升级需求,推出5G智慧工厂方案&a…

多摄像机网络智能视频监控系统设计与实现

1、智能视频监控系统项目背景介绍 2、系统的需求分析 在多摄像机视频监控系统中,通过前端结构化信息提取设备获取单个摄像机的结构化信息以后,需要将数据传输到云端服务器当中进行统一的存储和管理,从而为再识别等服务提供可靠的数据来源,满足更加丰富的用户需求。 本章将…

基于EasyCVR视频技术的“互联网+监管”非现场监管视频监控系统设计方案

一、方案背景 1、行业痛点 1)智能化水平弱,管理效率低:传统监管方式比较落后,智能化水平弱,监管工作完全依赖人工,导致人力成本过高、监管盲点多、效率低、服务质量差; 2)缺乏感知…

智能视频监控平台

智能视频监控平台 智能视频监控平台是融合网络高清、智能分析、多级管控为一体的综合视频监控平台。主要用于平安城市、社区安防等领域。提供视频直播、视频存储、录像回放、视频分析等功能,支持本地化接入和云平台接入前端摄像头。无需安装客户端,支持…

几种常见的网络摄像头_DVR方案_整理

几种常见的网络摄像头_DVR方案_整理 http://blog.csdn.net/ex_net/article/details/7833334 作者:张建波 邮箱: 281451020qq.com 电话:13577062679 欢迎来电交流! 一、华为海思的方案 市面上的4路8路DVR基本都是Hi3515的方案&…

网络摄像机(IPC)介绍

目录 一、什么是网络摄像机(IPC) 二、IPC功能 三、分辨率和存储 四、编码标准 五、AHD和IPC的区别 一、什么是网络摄像机(IPC) 网络摄像机是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将视频影像通过网络传至地球另一端,且远端的浏览…

IPC(网络摄像机)介绍

IPC是IP Camera的缩写词,IP是网际协议,Camera是照相机、摄影机,IP Camera顾名思义就是网络摄像机,它是一种由传统摄像机与网络技术结合所产生的新一代摄像机。 IPC(即网络摄像机)可以与路由器、交换机、NV…

【技术方案】野外场景中的摄像头没有固定IP,如何联网实现视频监控需求?

TSINGSEE青犀视频平台的视频能力十分灵活,在实际项目中也经历过多种多样的监控场景与需求。较为常见的监控场景如工厂、校园、商场、楼宇、社区等等,摄像头在固定的场所,现场网络环境较好,摄像头有固定的IP。 对于这样的场景&…

ipcam 网络摄像机介绍

网络服务器的核心功能,目前,网络摄像机的主要解决方案有DSP和ASIC两大阵营,DSP方面,主要有TI、ADI等,而ASIC解决方案中,近期比较成功的有映佳和海思的方案,下面我们就这些核心方案进行一个分析。…

网络摄像机简介

前言 因学习需要,进行个人备份,来源于网络,进行整合 什么是网络摄像机 定义 网络摄像机,也叫IP摄像机(IP camera ,简称IPC,可不是进程通信的那个IPC) 特点 IPC的特点主要体现在“IP”上,即支持网络协议的摄像机,IPC可以看成是“模拟摄像机视频编码…

嵌入式开发-最受欢迎的网络摄像机方案

转载:http://www.elecfans.com/baike/yuyinshipin/wangluoshexiangji/20150714376563_a.html 网络摄像机是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将影像通过网络传至地球另一端,且远端的浏览者不需用任何专业软件&#xf…

网络摄像机架构

网络摄像机 IPC 现今的手机、运动摄像机以及安防监控领域的摄像机,它们通过光学传感器获取外部图像,经过处理后将视频信号存储或者传输到远端。本文主要针对网络摄像机。 硬件层 硬件层随着应用场景的的不同硬件方案上差别很大,手机的芯片解…

一套完整的网络视频监控系统设计方案

一套完整的网络视频监控系统设计方案 数字视频安防监控系统 一、需求分析 数字视频安防监控系统主要是对项目内公共区域进行全方位24小时不间断的视频监控;在监控中心通过电视墙实时显示整座大楼内外各个监控区域的现场情况,本次项目视频安防监控系统基…

网络WIFI摄像机方案主控芯片最全介绍

IPC网络WIFI摄像机方案主控芯片最全介绍: 看到很多朋友在问,什么是网络摄像机的方案,网络WIFI摄像机的主控究竟有什么区别,该用什么方案的网络摄像机来监控好? 鑫联拓展科技公司整理了一些资料给大家参考。 IPC网络摄像机方案把传统的模…

物联网之IP Camera解决方案简介

不看这几篇好文,就别说自己了解物联网 前言 IP Camera即网络摄像头,是物联网领域中的一个重要场景。本文将带领读者了解IP Camera这一典型物联网场景的市场、IP Camera的重要组成部分、以及以HaaS IP Camera为代表介绍IP Camera的解决方案的主要内容。 …

【bind()函数】JavaScript手写bind()及详解-超详细~~~

这两天学习了手写call、apply、bind,手写bind思考了很久才实现了MDN的示例的结果,所以记录下来~ 因为是第一篇文章,所以可能存在一些错误,希望各位大佬批评指正,不吝赐教。 也欢迎不懂的同学留言评论一起交流~~~ --…

2.深入了解bind函数

bind函数 1.查看方法2.详细解说(中文)bind函数: 3.bind文档 1.查看方法 使用指令:man bind 2.详细解说(中文) bind函数: 1.功能: bind函数把一个本地协议地址赋予一个套接字。 对…

C/C++ bind函数应用详解

文章目录 知识前导头文件bind介绍bind函数&#xff1a;bind简述&#xff1a; placeholders 用法探究单个参数多个参数成员函数 知识前导 头文件 #include <functional>bind介绍 bind函数&#xff1a; 使用规则&#xff1a; auto newCallable bind(callable, arg_li…

c++bind函数使用

总述 最近写代码的时候看到代码使用了bind&#xff0c;一个参数绑定的标准库函数。程序是这么写的&#xff0c; speaker_play_routine_ new boost::thread (boost::bind(&Speaker::playRoutine, this)); 这是我们一个语音播放的一行代码。 其中 boost::thread是新建一个线…