NanoPi NEO Air使用一:介绍
NanoPi NEO Air使用二:固件烧录
NanoPi NEO Air使用三:OverlayFS、CPU温度和频率、wifi、蓝牙、npi-config
NanoPi NEO Air使用四:操作GPIO
NanoPi NEO Air使用五:安装Xfce和xrdp,实现远程访问
NanoPi NEO Air使用六:使用摄像头
NanoPi NEO Air使用七:获取并编译U-boot和Linux的源码
NanoPi NEO Air使用八:编写个简单的驱动和应用程序
NanoPi NEO Air使用九:使用Linux内核自带的LED驱动
NanoPi NEO Air使用十:自己编写驱动来控制LED
NanoPi NEO Air使用十一:编写SPI驱动点亮TFT屏幕,ST7789V

USB摄像头

开发板提供了两个USB口,但是都是排针的方式,因此都需要转接座才能使用。

开发板开机后,执行如下命令查看接入开发板的设备。
ls /dev
当接入USB摄像头后,重新执行ls /dev会看见多出来一个video设备,说明它就是我们刚才接入的摄像头。

依次执行下列命令

su root
cd /root/C/mjpg-streamer
make

等待make完成后执行
vi start.sh
找到下面的内容,把设备名称改为刚才接入的。

./mjpg_streamer -i “./input_uvc.so -d /dev/video0 -y 1 -r 1280x720 -f 30 -q 90 -n -fb 0” -o “./output_http.so -w ./www”
mjpg_streamer命令相关参数的含义如下:
-i: 选择输入插件,input_uvc.so表示从摄像头采集数据;
-o: 选择输出插件,output_http.so表示使用http协议传输数据;
-d: 输入插件的子参数,指定摄像头设备节点;
-y: 输入插件的子参数,指定摄像头采集数据的格式,1:yuyv, 2:yvyu, 3:uyvy 4:vyuy,如果不使用-y参数,则表示采集MJPEG格式;
-r: 输入插件的子参数,指定摄像头采集分辨率;
-f: 输入插件的子参数,指定想使用的摄像头采集fps,具体是否支持依赖于驱动;
-q: 输入插件的子参数,指定libjpeg软编码的图像质量;
-n: 输入插件的子参数, 禁止dynctrls功能;
-fb: 输入插件的子参数, 指定是否在/dev/fbX上显示采集的图像;
-w: 输出插件的子参数, 指定包含网页的目录;

执行下面命令运行shell脚本。
./start.sh
如果顺利,会有如下的输出:

root@ql:~/C/mjpg-streamer# ./start.sh
MJPG Streamer Version.: 2.0i: Using V4L2 device.: /dev/video1i: Desired Resolution: 1280 x 720i: Frames Per Second.: 30i: Format............: YUVi: Display framebuffer: /dev/fb0i: JPEG Quality......: 90i: Current Resolution: 1280x720o: www-folder-path...: ./www/o: HTTP TCP port.....: 8080o: username:password.: disabledo: commands..........: enabled

成功运行start.sh脚本后,假设开发板的IP地址为192.168.1.230,在PC的浏览器中输入 192.168.1.230:8080 就能浏览摄像头采集的画面了,效果如下:

mjpg-streamer是用libjpeg对摄像头数据进行软编码,Linux-4.14内核的ROM目前并不支持视频硬编码, 但是如果使用H3板子 + Linux-3.4内核的ROM的话, 可以使用ffmpeg对摄像头数据进行硬编码,这样能大大降低CPU的占用率并提高编码速度。
可以使用下面的命令录制视频,默认会录制30秒的视频,输入q能终止录制。录制完成后会在当前目录生成一个名为test.mp4的视频文件,可将其拷贝到PC上进行播放验证。

ffmpeg -t 30 -f v4l2 -channel 0 -video_size 1280x720 -i /dev/video0 -pix_fmt nv12 -r 30 -b:v 64k -c:v cedrus264 test.mp4

DVP摄像头模块(CAM500B)

开发板专门带了个DVP摄像头接口,如下:

对于NanoPi-NEO-Air,CAM500B可配合Linux-3.4内核和Linux-4.14内核使用。
CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考Matirx-CAM500B的介绍章节。
连接开发板和摄像头,然后上电启动系统,连接网络。执行下列命令:

su root
cd /root/C/mjpg-streamer
make

等待make完成后执行
vi start.sh
找到下面的内容,把设备名称改为刚才接入的。

./mjpg_streamer -i “./input_uvc.so -d /dev/video0 -y 1 -r 1280x720 -f 30 -q 90 -n -fb 0” -o “./output_http.so -w ./www”
mjpg_streamer命令相关参数的含义如下:
-i: 选择输入插件,input_uvc.so表示从摄像头采集数据;
-o: 选择输出插件,output_http.so表示使用http协议传输数据;
-d: 输入插件的子参数,指定摄像头设备节点;
-y: 输入插件的子参数,指定摄像头采集数据的格式,1:yuyv, 2:yvyu, 3:uyvy 4:vyuy,如果不使用-y参数,则表示采集MJPEG格式;
-r: 输入插件的子参数,指定摄像头采集分辨率;
-f: 输入插件的子参数,指定想使用的摄像头采集fps,具体是否支持依赖于驱动;
-q: 输入插件的子参数,指定libjpeg软编码的图像质量;
-n: 输入插件的子参数, 禁止dynctrls功能;
-fb: 输入插件的子参数, 指定是否在/dev/fbX上显示采集的图像;
-w: 输出插件的子参数, 指定包含网页的目录;

执行下面命令运行shell脚本。
./start.sh
如果顺利,会有如下的输出:

$ ./start.sh i: Using V4L2 device.: /dev/video1i: Desired Resolution: 1280 x 720i: Frames Per Second.: 30i: Format............: YUVi: JPEG Quality......: 90o: www-folder-path...: ./www/o: HTTP TCP port.....: 8080o: username:password.: disabledo: commands..........: enabled

成功运行start.sh脚本后,假设开发板的IP地址为192.168.1.230,在PC的浏览器中输入 192.168.1.230:8080 就能浏览摄像头采集的画面了,效果如下:

NanoPi NEO Air使用六:使用摄像头相关推荐

  1. NanoPi NEO Air使用十五:移植RTL8723BU驱动

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  2. NanoPi NEO Air使用十一:编写SPI驱动点亮TFT屏幕,ST7789V

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  3. NanoPi NEO Air使用十:自己编写驱动来控制LED

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  4. NanoPi NEO Air使用九:使用Linux内核自带的LED驱动

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  5. NanoPi NEO Air使用八:编写个简单的驱动和应用程序

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  6. NanoPi NEO Air使用七:获取并编译U-boot和Linux的源码

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  7. NanoPi NEO Air使用五:安装Xfce和xrdp,实现远程访问

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  8. NanoPi NEO Air使用四:操作GPIO

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  9. NanoPi NEO Air使用三:OverlayFS、CPU温度和频率、wifi、蓝牙、npi-config

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

最新文章

  1. hdfs 数据迁移_基于JindoFS+OSS构建高效数据湖
  2. 8 pycharm 快捷键_Pycharm自动添加文件头注释和函数注释参数
  3. windows10 安装docker
  4. Hadoop hdfs 获取文件列表代码示例
  5. HTML section元素
  6. 一个强大的图表库 -- ECharts
  7. Android基础(四) Fragment Part 1
  8. react-redux
  9. 去找工作还要先交押金我认为不太靠谱
  10. C# pictureBox显示图像 自动调整大小 缩放自适应 画图位置自适应
  11. jsp大学计算机知识点,大学计算机规划教材:JSP大学实用教程
  12. PCB封装库创建流程及注意事项
  13. python电力系统分析_PyPSA电力系统分析简介
  14. 塔望食品品牌策划|食品行业怎么讲好品牌故事
  15. Effective Modern C++笔记汇总
  16. 天气预报接口_JMeter 接口自动化测试篇 26
  17. FFmpeg录屏和常用命令总结(不录制声音 Windows平台)
  18. Kylin的介绍及使用说明
  19. idea新增目录文件不能提交
  20. 佳力奇IPO过会:拟募资11亿 西安现代与华控湖北是股东

热门文章

  1. iOS限定UITextField的输入格式
  2. 智能假手与机器人融合可以灵活抓取物品
  3. 猴子用意念玩游戏,马斯克脑机接口公司新进展
  4. eeglab中文教程系列(14)-Working with ICA Components
  5. 格灵深瞳开盘破发,市值73亿,创始人曾是谷歌眼镜创始成员
  6. vivo不小心把内部自研技术方案写进了“年终总结”,我看了直接好家伙
  7. 清华姚班系初创公司获B轮融资5亿,姚期智「百万富翁」设想已从理论走向应用...
  8. 三手火箭载二手飞船送四名平民上太空,马斯克负责创造历史,另一位富豪出钱买单...
  9. 现在的桥都会做仰卧起坐了!中国首座3D打印桥亮相上海
  10. SpaceX星舰飞船又炸了,马斯克迷惑表态:成功了!火星等我