韦东山第三期视频监控mjpg_streamer实验的注意事项--最终能看到结果
来源:互联网 发布:广州plc编程招聘信息 编辑:程序博客网 时间:2024/05/24 01:40
这是原来视频给出的步骤:
讲解mjpg-streamer
1. 如何将mjpg-streamer移植到开发板上
文件系统:fs_mini_mdev_new_auto_wifi_ap.tar.bz2
(1) libjpeg 的移植
tar xzvf libjpeg-turbo-1.2.1.tar.gz
cd libjpeg-turbo-1.2.1
mkdir tmp
./configure --prefix=/work/jz2440/libjpeg-turbo-1.2.1/tmp --host=arm-linux
make
make install
cp /work/jz2440/libjpeg-turbo-1.2.1/tmp/lib/*so* /work/nfs_root/fs_mini_mdev_new/lib/ -d
(2) mjpg-streamer 的移植:
tar xvf mjpg-streamer-r63.tar.gz
cd mjpg-streamer-r63
修改所有的Makefile
--(1) 将 CC=gcc 修改为 CC=arm-linux-gcc
--(2) 修改plugins/input_uvc/Makfile
a. 将
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
改为
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I /work/jz2440/libjpeg-turbo-1.2.1/tmp/include
注意:
-I /work/jz2440/libjpeg-turbo-1.2.1/tmp/include // 是编译libjpeg 生成的文件
b. 将
input_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo
jpeg_utils.lo dynctrl.lo
改为
input_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
$(CC) $(CFLAGS) -ljpeg -L /work/jz2440/libjpeg-turbo-1.2.1/tmp/lib -o
$@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
make
cp mjpg_streamer /work/nfs_root/fs_mini_mdev_new/bin/
cp *so* /work/nfs_root/fs_mini_mdev_new/lib/ -d
2.分析源码
input_init();
output_init();
input_run();
output_run();
3.自己写客服端
(1).发送一个请求字符串
"GET /?action=snapshot\n"
"GET /?action=stream\n"
"GET /?action=command\n"
(2).再发送一次字符串
如果我们不使用密码功能!则只需发送任意长度为小于2字节的字符串,比如:
"f\n"
如果发送的请求是:"GET /?action=snapshot\n"
(3).需要接收一次字符串(是服务器发过来的报文)
(4).接收一帧图片
如果发送的请求是:"GET /?action=stream\n"
(3).需要接收一次字符串(是服务器发过来的报文)
while(1)
{
(4).再接收一次报文,解析它,得到一帧图片的大小(size)
(5).接收size个字节的数据
}
启动内核:
set ipaddr 192.168.7.122 && set serverip 192.168.7.111 && tftp 0x30000000 uImage
set bootargs root=/dev/nfs nfsroot=192.168.7.202:/work/nfs_root/fs_mini_mdev_new ip=192.168.7.17 console=ttySAC0,115200 && bootm 0x30000000
二合一摄像头
mjpg_streamer -i "input_uvc.so -f 10 -r 320*240" -o "output_http.so -w www"
一般摄像头
mjpg_streamer -i "input_uvc.so -f 10 -r 320*240 -y" -o "output_http.so -w www"
剩下的就是我实验的步骤了:
nfs 30000000 192.168.1.113:/work/nfs_root/uImage_wifi ; bootm 30000000 //这是以前留下的内核
ifconfig wlan0 192.168.10.1
dhcpd -cf /etc/dhcpd.conf wlan0
hostapd -B /etc/myhostapd.conf
hostapd_cli all_sta
cat /var/db/dhcpd.leases
注意:这里不能够使用和PC路由器相同的IP段,比如路由器为192.168.1.0那么这里就不能够设置IP为192.168.1.XX 否则不能够运行
killall dhcpd && killall hostapd && killall mjpg_streamer
mjpg_streamer -i "input_uvc.so -f 10 -r 320*240" -o "output_http.so -w www" & //这里启动mjpg_streamer应用程序,之后就可以用手机连接了,手机客户端的IP为:192.168.10.1
可以用以前的程序来测试摄像头驱动行不行:
./video2lcd /dev/video0
有图有真相,这是本实验图片:
现在把所用的资料传上来:
mjpg_streamer实验的内核和应用程序.zip:
这里是mjpg_streamer这个程序和内核,应用程序已经编译通过,这里直接使用里面的应用程序:
http://download.csdn.net/detail/chengdong1314/9376751
开发板根目录下的配置.7z:
这里是做本实验时的根目录相关配置,因为根目录十分复杂,所以这里不上传了
http://download.csdn.net/detail/chengdong1314/9376753
- 韦东山第三期视频监控mjpg_streamer实验的注意事项--最终能看到结果
- 韦东山第三期视频监控wpa_supplicant编译出错问题
- 韦东山第三期视频电子书项目轮询输入实验的相关说明
- 韦东山第三期视频监控编译华美路由器A100固件问题----已经编译通过
- 韦东山视频第三期makefile文件分析
- 韦东山第三期视频数码相框中的电子书项目的ShowOnePage函数解析
- 韦东山视频第1期 学习计划
- 韦东山第二期视频之心得体会
- 韦东山视频第二期之心得体会
- 韦东山视频实验之触摸屏
- 韦东山视频实验之Nand驱动
- 韦东山视频实验之Nor驱动
- 韦东山视频实验之虚拟网卡
- 《韦东山视频第二期》——LCD驱动
- 《韦东山视频第二期》——i2c驱动
- 韦东山视频实验之Input子系统分析之一
- 韦东山视频实验之Input子系统分析之二
- 韦东山视频实验之USB鼠标驱动
- Xcode下的DerivedData文件
- 自定义PageControl图片
- 虚拟机kali2.0安装bettercap问题
- 解决libc++abi.dylib: terminate_handler unexpectedly threw an exception(1)
- Unity内存分析
- 韦东山第三期视频监控mjpg_streamer实验的注意事项--最终能看到结果
- sqlserver还原master和msdb
- 本地推送
- linux awk命令入门
- android中src和background区别
- ionic-项目目录结构介绍
- IOS各种调试
- 第十七周-课程设计-智力迷宫游戏开发
- k均值聚类与谱聚类的两个实例