首页 > 其他分享 >MotionPlus 安装指南

MotionPlus 安装指南

时间:2024-08-31 17:04:30浏览次数:10  
标签:指南 OFF MotionPlus local dev build HOME PATH 安装

介绍

MotionPlus是一款用于监控摄像头的视频信号,并检测运动的应用程序,是对原有Motion软件的升级版本。它支持多种设备,如网络摄像头、V4L2网络摄像头和视频采集卡等。MotionPlus提供多种功能,包括录制视频、保存图片、实时视频流观看、调用脚本、日志记录、以及运动检测等功能。

安装

MotionPlus提供了多种安装方法,下面以基于Debain发行版的安装方法进行介绍。

1 安装相关依赖库

sudo apt install \
autoconf \
automake \
autopoint \
build-essential \
pkgconf \
libtool \
libzip-dev \
libjpeg-dev \
git \
libavformat-dev \
libavcodec-dev \
libavutil-dev \
libswscale-dev \
libavdevice-dev \
libwebp-dev \
gettext \
libmicrohttpd-dev \
libasound2-dev \
libpulse-dev \
libfftw3-dev \
libsqlite3-dev

注意:MotionPlus支持三种数据库,本文安装的是Sqlite3数据库。

2 安装OpenCV

  1. 编写安装脚本
vim build.sh
#!/bin/bash

# 检查是否退出
set -e

# 下载编译代码
opencv_version=opencv-4.10.0
wget -O ${opencv_version}.zip https://github.com/opencv/opencv/archive/4.10.0.zip
unzip ${opencv_version}.zip

# 新建编译目录
build_dir=${opencv_version}/build
if [ ! -d "$build_dir" ]; then
  echo "Create ${build_dir}..."
  mkdir -p ${build_dir}
fi
cd ${build_dir}

# 编译算法库
echo "Building OpenCV ..."

cmake -D CMAKE_INSTALL_PREFIX=$HOME/.local \
-D CMAKE_BUILD_TYPE=RELEASE \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_PNG=ON \
-D BUILD_JPEG=ON \
-D WITH_TIFF=OFF \
-D WITH_WEBP=OFF \
-D WITH_OPENJPEG=OFF \
-D WITH_JASPER=OFF \
-D WITH_OPENEXR=OFF \
-D BUILD_ZLIB=ON \
-D WITH_EIGEN=OFF \
-D BUILD_opencv_freetype=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=OFF \
-D BUILD_DOCS=OFF \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D OPENCV_DOWNLOAD_MIRROR_ID=gitcode \
..

make -j$(nproc)

# 安装算法库
make install
  1. 运行安装脚本
bash build.sh
  1. 添加环境变量
vim ~/.bashrc
export C_INCLUDE_PATH=$HOME/.local/include/opencv4:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$HOME/.local/include/opencv4:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=$HOME/.local/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH

3 安装libcamera

  1. 安装编译工具
pip install meson ninja
  1. 编写安装脚本
vim build.sh
#!/bin/bash

# 检查是否退出
set -e

# 下载编译代码
git clone https://git.libcamera.org/libcamera/libcamera.git
cd libcamera && git tag
git checkout v0.2.0 && git checkout -b v0.2.0
git branch

# 生成编译配置
meson setup build --prefix $HOME/.local

# 编译安装库
ninja -C build install

# 复制配置文件
cp $HOME/.local/lib/x86_64-linux-gnu/pkgconfig/libcamera*.pc $HOME/.local/lib/pkgconfig
  1. 运行安装脚本
bash build.sh
  1. 添加环境变量
vim ~/.bashrc
export C_INCLUDE_PATH=$HOME/.local/include/libcamera:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$HOME/.local/include/libcamera:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=$HOME/.local/lib/x86_64-linux-gnu:$LIBRARY_PATH
export LD_LIBRARY_PATH=$HOME/.local/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

参考网址:

  1. libcamera Getting Started
  2. libcamera 编译

4 安装MotionPlus

  1. 编写安装脚本
vim build.sh
#!/bin/bash

# 检查是否退出
set -e

# 下载编译代码
git clone https://github.com/Motion-Project/motionplus.git
cd motionplus

autoreconf -fiv

./configure --prefix=$HOME/.local --with-opencv=$HOME/.local --with-libcam=$HOME/.local

make -j$(nproc)

make install
  1. 运行安装脚本
bash build.sh

参考网址:

  1. Installing and Building from Source

测试

  1. 复制配置文件当工作目录
mkdir workspace

cp ~/.local/etc/motionplus/*.conf workspace
  1. 设置MotionPlus的配置文件
cd workspace

vim motionplus-dist.conf
;*************************************************
;*****   System
;*************************************************
daemon off   ; 程序以前台模式运行
log_level 6  ; 日志记录的详细程度
log_type ALL ; 日志记录的类型
;log_file    ; 日志文件的路径

;*************************************************
;*****   Camera
;*************************************************
;device_name ; 摄像头设备的名称
;device_id   ; 摄像头设备的编号
;target_dir  ; 视频文件存储路径

;*************************************************
;*****   Source
;*************************************************
;v4l2_device /dev/video0                                       ; 驱动摄像头
;netcam_url rtsp://username:[email protected]:554/stream1 ; 网络摄像头

;*************************************************
;*****   Image
;*************************************************
;width 640    ; 输入图像宽度
;height 480   ; 输入图像高度
;framerate 15 ; 输入视频帧率

;*************************************************
;*****   Overlays
;*************************************************
text_right %Y-%m-%d\n%T ; 视频右侧显示文本

;*************************************************
;*****   Method
;*************************************************
emulate_motion off ; 运动仿真模式
threshold 1500     ; 检测运动阈值

;*************************************************
;*****   Masks
;*************************************************
noise_level 32         ; 噪声过滤的级别
despeckle_filter EedDl ; 斑点去除过滤器

;*************************************************
;*****   Detection
;*************************************************
minimum_motion_frames 1 ; 检测到的最小运动帧数
event_gap 60            ; 两次检测事件最小间隔
pre_capture 3           ; 事件触发前的捕获帧数
post_capture 10         ; 事件触发后的捕获帧数

;*************************************************
;*****   Scripts
;*************************************************
on_event_start ; 运动开始前的检测脚本
on_event_end   ; 运动开始后的检测脚本

;*************************************************
;*****   Picture
;*************************************************
picture_output off                  ; 是否启用图片输出
picture_filename %v-%Y%m%d%H%M%S-%q ; 图片文件命名格式

;*************************************************
;*****   Movie
;*************************************************
movie_output on                 ; 是否启用视频输出
movie_max_time 120              ; 视频文件最大时长
movie_quality 45                ; 输出视频视频质量
movie_container mkv             ; 视频文件保存格式
movie_filename %v-%Y%m%d%H%M%S  ; 视频文件命名格式

;*************************************************
;*****   Web Control
;*************************************************
webcontrol_port 8080    ; 网络控制端口号
webcontrol_localhost on ; 网络控制是否仅限于本地访问
webcontrol_parms 0      ; 网页控制的参数

;*************************************************
;*****   Web Stream
;*************************************************
stream_preview_scale 25        ; 预览流的缩放比例
stream_preview_method combined ; 预览流的生成方法

;*************************************************
; Device config files - One for each device.
;*************************************************
camera path/to/camera1-dist.conf
  1. 设置摄像机视频流的配置
cd workspace

vim camera1-dist.conf
;*************************************************
; Configuration options specific to camera 1
;*************************************************

;*************************************************
;*****   Camera    ; 摄像头设置
;*************************************************
device_name MyCam1 ; 摄像头名称
device_id 101      ; 摄像头标识

;*************************************************
;*****   Source    ; 视频流地址
;*************************************************
netcam_url rtsp://username:[email protected]:554/stream1 ; 网络视频流

;*************************************************
;*****   Image     ; 视频帧设置
;*************************************************
width 640          ; 输入图像帧宽
height 480         ; 输入图像帧高
framerate 15       ; 输入视频帧率

;*************************************************
;*****   Overlays  ; 画面叠加文本
;*************************************************
text_left CAMERA 1

;*************************************************
;*****   Movie     ; 视频保存名称
;*************************************************
movie_filename CAM01_%t-%v-%Y%m%d%H%M%S
  1. 启动MotionPlus的应用程序
# 启动应用程序
motionplus -c motionplus-dist.conf

# 使用WEB查看视频
http://127.0.0.1:8080/

# 使用VLC查看视频
http://127.0.0.1:8080/101/mpegts 摄像头的主流
http://127.0.0.1:8080/101/mpegts/substream 摄像头的子流
http://127.0.0.1:8080/101/mpegts/motion 摄像头的运动图像流  
http://127.0.0.1:8080/101/mpegts/source 摄像头的源图像流 
http://127.0.0.1:8080/101/mpegts/secondary 次级检测流的图像(如果激活)

标签:指南,OFF,MotionPlus,local,dev,build,HOME,PATH,安装
From: https://www.cnblogs.com/d442130165/p/18390483

相关文章

  • Linux Debian12安装flameshot火焰截图工具
    一、LinuxDebian12安装flameshot打开终端,运行:sudoaptinstallflameshot安装成功后,使用下面命令查看帮助信息:flameshot-h其中flameshotlauncher命令可以打开启动器。二、使用flameshot截图方法打开终端,输入下面命令:flameshotlauncher打开启动器可以进行新的截......
  • 直播商城小程序开发指南:基于多商户商城系统源码的实现
    本篇文章,小编将以多商户商城系统源码为基础,详细介绍如何开发一款高效、稳定的直播商城小程序。 一、直播商城小程序的市场需求与发展前景直播商城小程序作为一种轻量级的应用形式,用户无需下载安装即可通过微信等社交平台直接访问,这为商家提供了更为便捷的客户触达方式。对于多商户......
  • iMac安装Windows系统键盘无反应
    热烈欢迎,请直接点击!!!进入博主AppStore主页,下载使用各个作品!!!注:博主将坚持每月上线一个新app!!1、鼠标右击任务栏空白处,选择“任务管理器”: 2、在进程里边找到“MicrosoftIME”,右键点击它,选择“结束任务”......
  • 新手指南基础学
    equels和的区别equals方法用于比较对象的内容是否相等,可以根据自定义的逻辑来定义相等的条件,而操作符用于比较对象的引用是否相等,即它们是否指向同一块内存地址。equals方法是一个实例方法,可以被所有的Java对象调用,而操作符可以用于比较对象的引用或基本数据类型的值。equ......
  • 【可视化】一套全面的数据可视化指南
    #一、可视化问题#二、可视化原则#三、类型原创DataCharm今天跟大家分享一套谷歌数据可视化团队形成的全面的数据可视化指南,涵盖了设计原则、图表分类、图表的选用、样式设计、交互设计、仪表板设计等方面。一、可视化问题不论你是从事数据相关工作,还是业务相关工......
  • CentOS 7 安装 .net 8 环境
    1)下载.net8运行时https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0依据运行程序类型,下载运行时,比如需要运行web应用,下载如同运行时,一般选择x64版本 2)上传到服务器解压tar-xzfdotnet-runtime-8.0.x-linux-x64.tar.gz-C/opt/dotnet/ 3)配置环境变量编......
  • Wireshark下载安装和使用教程
    ......
  • 如何在D盘创建虚拟环境?包括安装PyTorch和配置PyCharm
    摘要:本文首先在D盘创建了虚拟环境,然后在虚拟环境中安装了PyTorch,最后配置了pycharm的解释器。1.在D盘创建虚拟环境打开AnacondaPrompt输入condainfo--envs查看当前已有环境创建自己的虚拟环境,打算命名为py310,输入condacreate--prefix=D:\ProgramData\py310python=3......
  • 如何安装peiqi文库
    一:安装包下载方法一:hithub上搜索peiqi方法二:使用自己搭建的ubuntu,kali,linux都可。我用的ubuntu输入命令:gitclonehttps://gitee.com/peiqi0/PeiQi-WIKI-Book.git二:查看安装情况1:ls查看是否安装成功2:cd进入3:安装nmpsudoapt-getinstallnpm4:通过npm安装yarn5:查......
  • 刚刚!Stable Diffusion 4.9更新,Ai绘画最强工具来了!(无需安装,解压即用)
    2024可以称得上是Ai技术大爆发的元年,目前两款Ai神器大火,一款是大名鼎鼎的ChatGPT。另外一款大火的是本期强哥介绍的Ai绘图软件—StableDiffusion。8月StableDiffusionAi绘画最新版本更新啦!此次从4.8.7更新至4.9版本!主要是更新优化和大模型增加,无需复杂的部署,解压即......