mjpg_streamer视频服务器移植

上传人:公**** 文档编号:510430409 上传时间:2023-08-25 格式:DOC 页数:5 大小:75KB
返回 下载 相关 举报
mjpg_streamer视频服务器移植_第1页
第1页 / 共5页
mjpg_streamer视频服务器移植_第2页
第2页 / 共5页
mjpg_streamer视频服务器移植_第3页
第3页 / 共5页
mjpg_streamer视频服务器移植_第4页
第4页 / 共5页
mjpg_streamer视频服务器移植_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《mjpg_streamer视频服务器移植》由会员分享,可在线阅读,更多相关《mjpg_streamer视频服务器移植(5页珍藏版)》请在金锄头文库上搜索。

1、首先内核配置一些相关信息一:usb驱动添加Make menuconfig Device supportScsi device support* scsi disk support* scsi generic support * scsi media changer support x - Device support x - USB support x - USB Mass Storage support 二:添加驱动(video)Make menuconfigDevice Drivers - Multimedia support - Video For Linux * Enable Vide

2、o For Linux API 1 (DEPRECATED) (NEW)* Video capture adapters (NEW) -* V4L USB devices (NEW) - USB Video Class (UVC) * UVC input events device support (NEW) USB ZC0301P webcam support (DEPRECATED)Mount -t vfat /dev/sda1 /mnt三:网络视频服务器移植对于内核linux-2.6.35,不能再使用servfox,如果要使用的需要修改大量的代码,在此选用新的方法来移植。需要两个文件jp

3、eg,mjpg-stream.移植如下:jpeg库的移植jpeg源码包通过下面这个网址下载http:/www.ijg.org/files/jpegsrc.v8b.tar.gz解压源码包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

4、=HOST指定Apache HTTP服务器将要运行的目标系统类型HOST 。BUILD)编译make安装make install拷贝库到文件系统中cp /home/linux/jpeg /lib/libjpeg.so.8 /source/rootfs/libmjpg-stream的移植mjpg-stream源码包通过下面这个网址下载http:/ 解压源码tar xvf mjpg-streamer-r63.tar.gzmkdir /home/linux/jpeg修改源码cd mjpg-streamer-r63修改顶层makefile及plugins目录中的各级makefile将所有 (注意这里需

5、要修改的内容)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)makemkdir /source/rootfs/mjpgcp *.so /source/rootfs/mjpgcp mjpg-streamer /source/rootfs/bin将摄像头驱动s5pc100_ca

6、m.ko拷贝到 /source/rootfs目录下插入摄像头测试运行boa服务器/etc/boa/boa&插入摄像头驱动insmod s5pc100_cam.ko运行mjpg_streammjpg_streamer -i “/mjpg/input_uvc.so -y” -o “/mjpg/output_http.so -w 192.168.1.200:8080”& (注意:这里是板子的ip 192.168.1.200)浏览器上执行:http:/192.168.1.200:8080/?action=snapshot (每次回车单张抓拍)或者http:/192.168.1.200:8080/?ac

7、tion=stream (视频流)或者打开viewer.exe,输入IP和端口,点击Connect连接,可在下方看到视频流。拍照功能的实现由于mjpg_stream中output-file.so能实现连续拍照的功能,不能实现单拍或连拍几张的功能所以需要对output_file原码进行修改。# cd mjpg-streamer-rc63/plugins/output_file# vim output_file.c在96行 函数 void *worker_thread(void *arg) 体中加入以下代码:char buf10; /用于存放从管道读取的命令int flags = 0; /拍照标志

8、,1:表示11张照片,2:表示1张照片int fd_com = 0; /打开管道的文件描述符 stop_num = 0; /拍照计数 if ( access(“/tmp/webcom”,F_OK) 0 ) /创建有名管道用于接收拍照命令 if ( mkfifo(“/tmp/webcom”,0666 ) 0) Printf(“ photo fifo create failedn”); fd_com = open (“/tmp/webcom”,O_RDONLY,0666); if (fd_com = 0 & !pglobal-stop) 后加入 if (flags = 0)while(1) rea

9、d(fd_com,buf,sizeof(buf);if (strncmp(buf,”danger”,6) = 0) /拍11张照片flags = 1; bzero(buf,sizeof(buf); break;if (strncmp(buf,”one”,3) = 0) /拍1张照片flags = 2; bzero(buf,sizeof(buf); break;在if (delay 0) usleep(1000*delay);后加入stop_num+if (flags = 1) /判断拍照的数量if ( stop_num 9) stop_num = 0;flags = 0;else if (flags = 2)stop_num = 0;flags = 0;所以只要向有名管道/tmp/webcom写入danger就能连拍11张照片,写入one就拍一张照片。注:拍照功能实现:mjpg_streamer -i /mjpg/input_uvc.so -y -o /mjpg/output_http.so -w /www -o /mjpg/output_file.so -f /pice -d 15000 &

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号