X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
RF/无线
[分享] 【转】RT5350无线视频监控
chenzhufly
2015-3-31 20:24
楼主
编译开发主机:archlinux
硬件开发平台:RT5350F开发套件
USB摄像头:中星微zc301
1、Gspcav1驱动移植(通用USB摄像头的驱动程序)
1.1 下载gspcav1-20071224源码,并将其拷贝到linux2.6.21/drivers/media/video下。
1.2 修改video目录下的Kconfig和Makefile,引入gspcav1目录的Kconfig和Makefile,
1.3 在gspcav1目录下新建一个Kconfig,加入如下内容:
config USB_SPCA5XX
tristate "USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras"
depends on USB && VIDEO_DEV
1.4 在gspcav1目录下修改原来的Makefile为如下内容:
gspca-objs := gspca_core.o decoder/gspcadecoder.o
obj-$(CONFIG_USB_SPCA5XX) += gspca.o
1.5 linux内核选上一些配置
V4L USB devices
USB EHCI HCD
USB OHCI HCD
1.6 重新烧写内核后,插上USB摄像头
2、使用spcaview与Servfox
2.1 spcaview的编译
spcaview主要是视频监控的客户端,在本机编译,由于显示是基于SDL,所以确保已安装了SDL库。
编译可能会遇到如下问题:
2.1.1 头文件linux/videodev.h无法找到
解决:首先确保主机是否安装了libv4l-dev。然后将头文件linux/videodev.h修改为libv4l1-videodev.h
2.1.2 ‘BASE_VIDIOCPRIVATE’未定义
解决:在提示未定义的c文件的开头处加入#define BASE_VIDIOCPRIVATE 192
2.2、Servfox的移植
这部分问题不大,修改好Makefile,直接可以编译通过。
2.3、视频监控搭建
在板子上运行servfox:
[cpp]
view plain
copy
# ./servfox -d /dev/video0 -s 640x480 -w 7070
servfox version: 1.1.3 date: 11:12:2005 (C)
mxhaard@magic.fr
wrong spca5xx device
Waiting .... for connection. CTrl_c to stop !!!!
Got connection from 192.168.10.100
在主机电脑上运行spcaview客户端:
[cpp]
view plain
copy
./spcaview -g -s 640x480 -w 192.168.10.123:7070
3、mjpeg-streamer
3.1 mjpeg-streamer目录结构
doc --文档
mjpeg-client --监控客户端,有windows和linux两个版本
mjpg-streamer --mjpeg流媒体服务器,以插件的形式支持不同的视频采集和流媒体协议输出
mjpg-streamer-experimental --同上,貌似是实验版本
udp-client --QT客户端
uvc-streamer --uvc服务器
3.2 mjpg-streamer编译
编译时需要注意交叉工具链的设置,默认是本地gcc编译。
除了指定交叉工具链mipsel-linux-gcc外,还有一些linux源码头文件涉及到v4l接口的操作。
通过PLUGINS的值来选择编译不同各类的输入输出插件。
这里我们的摄像头驱动是gspcav1,所以输入插件选择编译“input_gspcav1.so”
使用网页浏览使用http协议,所以输出插件选择“output_http.so”
3.3 搭建mjpeg视频监控
3.3.1 拷贝三个文件到板子:
mjpg_streamer input_gspcav1.so output_http.so
可通过网络文件系统NFS,挂载到mnt目录下,在 /mnt/mjpg-stream/下可以看到以上三个文件
3.3.2 指定库搜索路径
mjpg_streamer运行时需要加载输入输出两个动态库插件,为了能正确的加载,
第1可以将input_gspcav1.so和output_http.so两个文件拷贝到/lib目录下,由于只读文件系统,在做固件的时候可以这样。
第2指定运行时搜索库环境变量LD_LIBRARY_PATH:
[cpp]
view plain
copy
# export LD_LIBRARY_PATH=/mnt/mjpg-stream:$LD_LIBRARY_PATH
3.3.3 运行mjpg-streamer
3.3.4 传递一些参数
[cpp]
view plain
copy
./mjpg_streamer -i "input_gspcav1.so -d /dev/video0 -r 640x480 -f 30" -o "output_http.so -w ./www"
-i,--input 指定图像输入(视频采集)插件-d 指定视频摄像头设备节点
-r 分辨率,根据摄像头所支持的分辨率来设置
-f 帧率,即一秒内采集与发送的图像帧数
-y 开启yuv图像格式,默认情况下是mjpeg
-o,--output 指定图像输出(视频网络传输)插件
-w 表示指定网页浏览所需要文件
-p 指定网络通信端口
3.3.5 视频监控端
打开网页浏览器,输入:
[cpp]
view plain
copy
http://192.168.10.123:8080/?action=stream
就可以在网页里看到视频画面了:
客户端可以看视频画面:
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞
回复评论 (1)
沙发
yyhhgg
这图不是很清楚
点赞
2015-4-10 21:24
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
求大神帮助
ARM 2440的板子内存64M,为什么CE控制面板里看到的确只有30M?
一种基于多惯性测量单元(LSM6DSOX)的轻量级精确定位算法
PT1000电路求助
难忘2017-fighting goon
STM32F107VCT6金龙107 Freertos实验
谁介绍款智能终端??
数字TV前端设计
你骑行吗?
说说我的应急灯
CC2530 的30脚的偏置电阻干什么用的
求助,急需wince下驱动的摄像头
调试你的嵌入式软件
请问,用EVC+Standard SDK开发的程序能够跑在SMartPhone平台上吗?
有人用过L293D没有?
s3c6410的nandflash分区问题,格式化binfs,exfat破坏了
简析DSP的工作原理
VHDL设计实例与仿真的秒表程序
用VS2005在WINCE5的平台上,如何开发FTP程序啊,我想用来实现自动更新
TL16c754扩展串口
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复