小学生
最后登录1970-1-1
在线时间 小时
注册时间2023-5-18
|
本帖最后由 tom_green 于 2023-5-18 18:51 编辑
LubanCat-RK环境搭建
环境搭建可参考 在野火下载中心鲁班猫的对于云盘中,我们可以发现鲁班猫系列产品的系统映像非常完善,有安卓,Linux等系统映像,建议下载最新版本进行烧录,本人使用鲁班猫无线版,需要将系统烧录到TF卡中;其他带闪存的版本可使用瑞芯微官方下载工具进行烧写系统,详细内容请参考野火产品中心在线文档。
登录LubanCat-RK系统一共有3种方式,USB登录鲁班猫终端登录,串口终端登录,SSH登录,并且通过局域网配置NFS网络文件系统后,可以将LubanCat-RK中的文件同步到电脑上来。
部署motion
motion的功能主要有移动侦测,移动抓拍,并且能通过局域网访问设备IP的8080端口,实时预览摄像头画面,能通过配置文件实现多种多样的功能,下面是尝试在鲁班猫设备是进行移植的过程。
安装motion
打开终端,输入以下指令先更新软件源
安装motion- sudo apt-get install motion
复制代码
USB摄像头先不插入USB摄像头,执行下列指令,之后插入USB摄像头,再执行一遍指令,可以看出插入USB摄像头后,多了video9,video10,所以video9,video10就是我们插入的USB摄像头设备,后续需要用到。(本人使用了USB摄像头)
执行指令后,可以看到USB上挂载的摄像头
mipi摄像头
LubanCat-RK系列板卡使用的摄像头接口是24pin mipi接口,目前适配了ov5648/ov8858摄像头,以及树莓派OV5647的摄像头(需要搭配转接板使用)
拍摄照片
- #拍摄照片
- sudo gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! jpegenc ! filesink location=picture.jpg
- #picture.jpg就是拍摄出来的照片了
复制代码
拍摄视频
#拍摄视频 v4l2-ctl --verbose -d /dev/video0 --set-fmt-video=width=800,height=600,pixelformat='NV12' --stream-mmap=4 --set-selection=target=crop,flags=0,top=0,left=0,width=800,height=600 --stream-to=out.yuv #播放视频 ffplay -f rawvideo -video_size 800x600 -pixel_format nv12 out.yuv #out.yuv 便是拍摄出来的视频了
配置motion的各项参数
输入命令,使用vim编辑配置各项参数,修改motion的配置文件motion.confvim使用请参考vim编辑保存使用说明修改motion的配置文件:
- sudo vim /etc/motion/motion.conf
复制代码
设置为可后台运行
#Start in daemon (background) mode and release terminal (default: off)
daemon on
图片视频的本地保存位置
# Target directory for pictures, snapshots and movies
target_dir /var/lib/motion
所使用的摄像头终端,与上述实际使用的所对应
# Video device (e.g. /dev/video0) to be used for capturing.
videodevice /dev/video9
设置不仅仅连接到本地
# Restrict stream connections to localhost only (default: on)
stream_localhost off
图片的像素大小,和帧率
# Image width (pixels). Valid range: Camera dependent, default: 320
width 800
# Image height (pixels). Valid range: Camera dependent, default: 240
height 600
# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 15
图片上水印的位置,以及格式
# Text to be overlayed in the lower left corner of images
text_left CAMERA1
# Text to be overlayed in the lower right corner of images.
text_right %Y-%m-%d\\n%T-%q
设置浏览器端口
# Port number used for the webcontrol.
webcontrol_port 8080
其他详细配置,可参考下表配置完毕后,记得保存并退出,然后重启motion,就可以正常运行了
#启动motion
sudo motion
#关闭motion
sudo killall -TERM motion
详细配置如下表所示:
选项 | 取值范围 | 默认值 | 说明 | auto_brightness | Values: on,off | off | 让motion自动调节视频的的亮度,只适用于不带有自动亮度调节的摄像机 | brightness | Values: 0-255 | 0 (disabled) | 调整摄像机的亮度 | saturation | Values: 0 - 255 | 0 (disabled) | 调整摄像机的颜色饱和度 | hue | Values: 0 - 255 | 0 (disabled) | 调整摄像机的色调 | contrast | Values: 0-255 | 0 (disabled) | 调整摄像机的对比度 | daemon | Values: on,off | off | 以守护进程在后台运行。这个选项只能放在motion.conf,不能放在 | thread config file | | | | emulate_motion | Values: on, off | off | 即使没有运动物体也要保存图像 | ffmpeg_output_movies | Values: on, off | off | 是否保存视频 | ffmpeg_bps | Values: 0 - 9999999 | 400000 | 视频比特率 | ffmpeg_variable_bitrate | Values: 0, 2 - 31 | 0 (disabled) | 动态比特率,如果开启这个功能ffmpeg_bps将被忽略,0为关闭,2为最好质量,31为最差质量 | ffmpeg_duplicate_frames | Values: on, off | on | 为了达到每秒的帧数要求,会复制一下帧填充空白时间,关掉这个功能后每个帧都紧接下一个帧,看起来像快进 | ffmpeg_output_debug_movies | Values: on, off | off调试模式,只看到变化的图像 | | ffmpeg_video_codec | Values: mpeg4, msmpeg4, swf, flv, ffv1, mov, ogg, mp4, mkv, hevc | mpeg4视频格式 | | framerate | Values: 2 - 100 | 100 (no limit) | 帧速率,每秒多少帧 | frequency | Values: 0 - 999999 | 0 (Not set) | 频率协调 Hz(不清楚作用) | lightswitch | Values: 0 - 100 | 0 (disabled) | 忽略光照强度改变引起的变化 | locate_motion_mode | Values: on, off, preview | off | 给运动物体用方框标出 | locate_motion_style | Values: box, redbox, cross, redcross | box | 标记风格 | max_movie_time | Values: 0 (infinite) - 2147483647 | 3600 | 最大视频时间 | minimum_frame_time | Values: 0 - 2147483647 | 0 | 最小帧间隔,设置为0表示采用摄像头的帧率 | minimum_motion_frames | Values: 1 - 1000s | 1 | 捕捉持续至少指定时间的运动帧 | movie_filename | Values: Max 4095 characters | %v-%Y%m%d%H%M%S | 视频的文件名 | ffmpeg_timelapse | Values: 0-2147483647 | 0 (disabled) | 间隔时间,拍摄延时视频 | ffmpeg_timelapse_mode | Values: hourly, daily, weekly-sunday, weekly-monday, monthly, manual | daily | 延时拍摄模式 | timelapse_filename | Values: Max 4095 characters | %v-%Y%m%d-timelapse | 延时拍摄的文件名 | output_pictures | Values: on,off,first,best,center | on | 是否保存图片和模式设置 | output_debug_pictures | Values: on,off | off | 图片调试模式,只输出运动物体 | picture_filename | Values: Max 4095 characters | %v-%Y%m%d%H%M%S-%q | 图片文件名 | picture_type | Values: jpeg,ppm | jpeg | 图片类型 | post_capture | Values: 0 - 2147483647 | 0 (disabled) | 运动在持续多少帧之后才被捕捉 | pre_capture | Values: 0 - 100s | 0 (disabled) | 输出图像包括捕捉到运动的前几秒 | quality | Values: 1 - 100 | 75jpg | 图像的质量 | quiet | Values: on, off | off | 安静模式,检测到运动不输出哔 | rotate | Values: 0, 90, 180, 270 | 0 (not rotated) | 旋转图像角度 | stream_auth_method | Values: 0,1,2 | 0 | 网页监控身份认证方法:0-无,1-基本,2-MD5 | stream_authentication | Values: username:password | Not defined | 网页监控用户名和密码 | stream_limit | Values: 0 - 2147483647 | 0 (unlimited) | 限制帧的数量 | stream_localhost | Values: on, off | on | 是否只能本地访问网络摄像头 | stream_maxrate | Values: 1 - 100 | 1 | 限制网络摄像头帧速率 | stream_port | Values: 0 - 65535 | 0 (disabled) | 网络摄像头端口 | stream_quality | Values: 1 - 100 | 50 | 网络摄像头传输质量 | switchfilter | Values: on, off | off | 过滤器开关,过滤器用来区分真正的运动和噪声 | target_dir | Values: Max 4095 characters | Not defined = current working | | directory | 视频和图片的保存路径 | | | videodevice | Values: Max 4095 characters | /dev/video0 | 摄像头设备名 | height | Values: Device Dependent | 288 | 图像高度,范围跟摄像机相关 | width | Values: Device Dependent | 352 | 图像宽度,范围跟摄像机相关 | process_id_file | Values: Max 4095 characters | Not defined | 保存PID的文件,推荐/var/run/motion.pid | database_busy_timeout | Values: 0 … positive integer | 0 | 数据库等待超时时间,毫秒
| 进行局域网展示图像
可以看出鲁班猫的IP地址为:192.168.7.102,加入:8080,可在局域网下任一设备访问192.168.7.102:8080进行画面展示,抓拍的图像,保存在配置文件中设置的位置。
运行成功如下图:
|
|