在linux下玩转usb摄像头 - 河池安防监控培训学校

欢迎来到湖南阳光电子学校-安防监控培训专家!十年安防监控培训经验,培养5000合格人才。专业安防监控培训学校。24小时值班手机:13807313137   微信号:yp94168
我们的优势: 专业安防监控学校,顶尖技师为你量身定制 传授安防核心技术、监控核心技术 保障100%的学员能真正学会学懂 达到独立设计安装安防监控设备 承诺:包教包会包工作!
安防监控培训,安防监控培训班,安防监控培训学校,安防监控培训中心

在linux下玩转usb摄像头 - 河池安防监控培训学校

当前位置:主页 > 监控技术 >   更新时间:2019-06-23 15:12   已经有人围观 |  作者:网络采编  来源:网络整理

在linux下玩转usb摄像头 时间:2018-09-29      来源:未知

版权声明:本文为博主原创文章,未经博主允许不得转载。

硬件平台:PC机一台 、usb摄像头

操作系统:Linux3.0.8

交叉编译环境:arm-none-Linux-gnueabi-gcc 4.5.1

调试步骤:

一、linux 内核解压

 

 

1.1使用linux-3.0.8-FS210_v8.tar.xz内核,将这个内核压缩包拷贝到虚拟机的linux系统上

1.2 执行 tar –xvf linux-3.0.8-FS210_v8.tar.xz,得到内核(用来产生镜像文件,烧进 s5pv210 开发板上)

1.3 解压之后,进入 linux-3.0.8-FS210_v8 内核,修改该目录下的 makefile,并配置相应的 make menuconfig,如下:

修改 Makefile

 

 

Make menuconfig

1.3.1 usb 驱动添加

Device Drivers --->

SCSI device support --->

<*> SCSI disk support

<*> SCSI generic support

<*> SCSI media changer support

[*] USB support --->

<*> USB Mass Storage support

1.3.2 添加驱动(video)

Device Drivers --->

<*> Multimedia support --->

<*> Video For Linux

[*] Video capture adapters --->

[*] V4L USB devices --->

<*> USB Video Class (UVC)

[*] UVC input events device support

1.4 执行 make zImage –j2,报如下错误:

 

 

修改这个文件

 

 

修改为

 

 

继续编译后出现

 

 

1.5 拷贝镜像到相应的目录下

开发板通过 tftp,下载虚拟机上的镜像,所以执行

cp zImage /tftpboot/

二、抓拍代码的移植

2.1用 arm-none-linux-gnueabi-gcc,编译该文件

2.1.1 虚拟机上编译 arm-none-linux-gnueabi-gcc 1.c -o 1,

编译之前,需修改 应用程序.c文件中的设备节点,默认是/dev/video3。

2.1.2 拷贝可执行文件到开发板的根文件系统某目录下(本实验,使用 nfs服务,给板子提供文件系统)

比如 cp 1 /opt/rootfs/drv(/opt/rootfs为虚拟机提供给开发板

根文件系统,drv为我自己创建的目录)

2.1.3 开发板成功和虚拟机连上后,连接好摄像头,进入到用于抓拍的可执行文件的目录,执行./1,会在该目录下生成对应的图片,默认抓拍

12张。示例:

 

 

三、流媒体的移植

3.1jpeg 库的移植

jpeg 源码包通过下面这个网址下载

解压源码包

tar xvf jpegsrc.v8b.tar.gz

配置源码 cd jpeg-8b

./configure --prefix=/home/linux/jpeg --host=arm -none-linux-gnueabi

 

 

(./configure 配置源代码树)

安装目录:

--prefix=PREFIX

体系无关文件的顶级安装目录 PREFIX,也就Apache的安装目录。

[/usr/local/apache2]

系统类型:

--host=HOST

指定 Apache HTTP 服务器将要运行的目标系统类型 HOST 。

[BUILD])

3.2编译

Make

3.3安装

make install拷贝库到根文件系统中

cp /home/linux/jpeg /lib/libjpeg.so.8 /opt/rootfs/lib

3.4 mjpg-stream的移植

3.4.1 mjpg-stream源码包通过下面这个网址下载

解压源码

tar -xvf mjpg-streamer-r63.tar.gz

mkdir /home/linux/jpeg

3.4.2 修改源码

cd mjpg-streamer-r63

修改顶层 makefile 及 plugins 目录中的各级 makefile 将所有(注意这里需要修改 的内容) CC=gcc 修改为

 

 

修改 plugins/input_uvc/Makfile

修改

CFLAGS += -O2 -DLINUX -D_GNU_SOURCE-Wall -shared -fPIC

 

 

修改

$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo

 

 

编译

(make clean)

make

mkdir /opt/rootfs/mjpg

cp *.so /opt/rootfs/mjpg

cp mjpg-streamer /opt/rootfs/bin

3.5 运行 mjpg_stream

mjpg_streamer -i “/mjpg/input_uvc.so –y” -o “/mjpg/output_http.so -w

192.168.7.156:8080”& (注意:这里是板子的 ip 192.168.7.156)

浏览器上执行:

:8080/?action=snapshot (每次回车单张抓拍)

或者

:8080/?action=stream (视频流)

或者打开 viewer.exe,输入 IP 和端口,点击 Connect 连接,可在下方看到视频流。

 

上一篇:2.6.2 IO模式介绍

下一篇:基于3.14内核PL2303_USB驱动的移植

百度收录查询:在linux下玩转usb摄像头 - 河池安防监控培训学校
学员报名须知 您所需要了解的问题
安防监控技术学校
安防监控技术学校
安防监控技术学校
返回顶部
电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 空调维修学校 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 空调维修学校 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 空调维修学校 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 空调维修学校 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校