这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 开源硬件 » SIN210学习笔记----中星微, mjpg-streamer,网络摄像头调试

共6条 1/1 1 跳转至

SIN210学习笔记----中星微, mjpg-streamer,网络摄像头调试成功

专家
2015-05-31 18:16:35     打赏

sin210拥有4个USB接口,用其中的一个进行usb摄像头视频的采集,现在介绍些如何进行操作以及操作过程注意点。

操作环境:

win7 32位主机,

vm9.0.0 build-812388,

主机版本:ubuntu12.04lts,

硬件平台:sin210(s5vp210),

linux内核:2.6.34内核

交叉编译器:arm-linux-gcc 4.3.2

1、购买usb摄像头

    为了方便,购买了中星微的摄像头,如果感兴趣,我可以告诉你我是在哪家买的。拿到之后再电脑上查看pid和vid号

 

经过查看,确认是中星微usb摄像头,支持v4l。

2、编译linux内核,支持zc301
linux
内核在2.6.34支持zc301摄像头了,所以我们在内核配置中启用zc301驱动即可、进入sinlix2.6.34内核源码包

 #make menuconfig  进入配置界面增加zc301驱动

进入配置界面后
  Device Drivers -->
     <*>Multimedia support --->
          <*>Video For Linux
          <*>Video capture adapters --->
                <*>V4L USB devices --->
                       <*>USB Video Class
                              <*>UVC input events device support
                       <*>GSPCA based webcams -->
                                <*>ZC3XX USB Camera Driver

USB设置

 Device Drivers -->
    <*>USB Support --->
         <*>Support for Host_side USB
         <*>USB announce new devices

make zImage

获得支持usb摄像头的内核zImage

 3、烧写内核到开发板

烧写该zImage到开发板,启动开发板,通过串口查看插入usb摄像头前后的信息

插入usb摄像头之前

插入usb摄像头之后

从上面可以看出,挂载到了video4,该信息非常重要

4、移植mjpg_streamer到开发板

mjpg_streamer是一个开源的视频操作工具。下载mjpg_streamer源码  

http://mjpg-streamer.svn.sourceforge.net/viewvc/mjpg-streamer.tar.gz?view=tar

解压后进入 mjgp-streamer 目录 修改顶层 Makefile ,将 CC=gcc  修改为 CC=arm-linux-gcc

 或者直接使用 make CC=arm-linux-gcc 可以直接编译。

为便于使用,给出下载文档

mjpg-streamer-r63.tar.zip

解压到ubuntu12.04,make之后 

将选中的三个文档拷贝到SIN210开发板中

运行命令

 [root@DDD /mjep]# ./mjpg_streamer -i "input_uvc.so -d /dev/video4 " -o "output_http.so -w ./www"
MJPG Streamer Version.: 2.0
 i: Using V4L2 device.: /dev/video4
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: MPGE
 i: JPEG Quality......: 80
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled
[ 8706.883189] zc3xx: probe 2wr ov vga 0x0000

 

 出现以上信息说明usb摄像头驱动已经挂在好,。

5、设置网络

将开发板和宿主机连接在同一个路由器上,并且设置在同一个网段。设置好之后看是否能够ping通。

 mjl@mjl-machine:~$ ping 192.168.0.106
PING 192.168.0.106 (192.168.0.106) 56(84) bytes of data.
64 bytes from 192.168.0.106: icmp_req=1 ttl=128 time=0.929 ms
64 bytes from 192.168.0.106: icmp_req=2 ttl=128 time=0.786 ms
64 bytes from 192.168.0.106: icmp_req=3 ttl=128 time=0.573 ms

 如果出现以上信息,表明网络连接正常。

6、启动视频流监测

开发板中运行 

 [root@DDD /mjep]# ./mjpg_streamer -i "input_uvc.so -d /dev/video4 " -o "output_http.so -w ./www"
MJPG Streamer Version.: 2.0
 i: Using V4L2 device.: /dev/video4
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: YUV
 i: JPEG Quality......: 80
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled
[ 8706.883189] zc3xx: probe 2wr ov vga 0x0000

打开ubuntu的firefox,输入192.168.0.106:8080/?action=stream

显示视频流如下(只抓了个图片): 

至此移植完毕。

有疑问的网友可以留言,进一步交流。




关键词: SIN210     mjpg-streamer     usb摄    

工程师
2015-05-31 19:53:12     打赏
2楼
这个牛,占沙发帮顶

院士
2015-05-31 23:40:17     打赏
3楼
真好呀~~

菜鸟
2015-09-15 09:52:58     打赏
4楼

难道楼主没有遇到过如下错误:

MJPG Streamer Version: svn rev: Unversioned directory
ERROR: could not find output plugin output_http.so
       Perhaps you want to adjust the search path with:
       # export LD_LIBRARY_PATH=/path/to/plugin/folder
       dlopen: output_http.so: cannot open shared object file: No such file or directory

(1)在Ubuntu下编译成功,运行./start.sh可正常工作,但使用nfs,在当前目录执行时,出错如上错误;

(2)我将全部文件复制到开发板上,仍失败

(3)我通过设置export LD_LIBRARY_PATH,仍失败

(4)我将共享库文件放到开发板的lib目录,仍失败


助工
2015-09-15 16:48:15     打赏
5楼
过来看看,赞一个

菜鸟
2015-10-25 17:14:58     打赏
6楼
我按照你的方法编译mjpg-streamer后是这样的,怎么回事呢

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]