usb摄像头芯片是中芯微的zc0301pl,
http://www.vimicro.com.cn/product/pdf/ZC301PL-1107-V10-EN.pdf

    [root@FriendlyARM bin-song]# usb 1-1.2: new full speed USB device using s3c2410-ohci and address 10
    usb 1-1.2: New USB device found, idVendor=0ac8, idProduct=301b
    usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 1-1.2: Product: PC Camera
    usb 1-1.2: Manufacturer: Vimicro Corp.
    usb 1-1.2: configuration #1 chosen from 1 choice
    gspca: probing 0ac8:301b
    zc3xx: probe 2wr ov vga 0x0000
    zc3xx: probe sensor -> 0011
    zc3xx: Find Sensor HV7131R(c)
    gspca: probe ok

/************************************************************************************************************************************/

执行,,如下---使用google code上的mjpg-streamer for mini2440,如前面4篇

 

FriendlyARM bin13]# ./start_uvc.sh
MJPG Streamer Version.: 2.0
DBG(input_uvc.c, input_init(), 133): argv[0]=UVC webcam grabber
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 5
i: Format............: MJPG
requested MJPG but got JPEG format instead//格式
DBG(dynctrl.c, initDynCtrls(), 139): adding control for 0
DBG(dynctrl.c, initDynCtrls(), 143): uvcioc ctrl add error: errno=22 (retval=-1)
DBG(dynctrl.c, initDynCtrls(), 139): adding control for 1
...

可以执行,但是用浏览器浏览时图像有问题---

发现上面line 8 
requested MJPG but got JPEG format instead

在源码中找到这行------在plugins/input_uvc/v4l2uvc.c的init_v4l2()函数,大概line 150 

 

    if(vd->fmt.fmt.pix.pixelformat!=vd->formatIn)
    {
    char fourcc1[5]={0,0,0,0,0};
    char fourcc2[5]={0,0,0,0,0};
    memmove(fourcc1,(char*)&vd->formatIn,4);
    memmove(fourcc2,(char*)&vd->fmt.fmt.pix.pixelformat,4);
    fprintf(stderr, " requested %s but got %s format instead\n",fourcc1,fourcc2);
    vd->formatIn = vd->fmt.fmt.pix.pixelformat;
    }

将这个if块注释掉就正常啦。。。

秀一张很模糊很美的图片----是摄像头差劲,10元一个。

/************************************************************************************************************************************/

如果使用友善提供的编译好的程序,考到板子上执行会有如下问题

 

[root@FriendlyARM /mjpg-streamer]# ./start_uvc.sh
MJPG Streamer Version.: 2.0
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 5
i: Format............: MJPEG
Pixel format is unavailable, using JPEG
should never arrive exit fatal !!
i: init_VideoIn failed [root@FriendlyARM /mjpg-streamer]# ./start_uvc_yuv.sh
MJPG Streamer Version.: 2.0
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 5
i: Format............: YUV
i: JPEG Quality......: 80
Pixel format is unavailable, using JPEG
should never arrive exit fatal !!
i: init_VideoIn failed

提供的编译好的程序和源码不是一个版本的。所以没法troubleshooting。

但问题貌似和上面那个一样,把那个if块注释掉应该可以解决。

/************************************************************************************************************************************/

以下3种方法均可。http://192.168.1.230:8080/

详见天嵌网络摄像头说明书。

借来天嵌板子WebCam的mjpg_streamer input_uvc.so output_http.so,考到micro2440的/home/plg,/mjpg-streamer/www/是以前用的。

执行如下,使用mjpg-streamer测试usb摄像头,正常。

 

[root@FriendlyARM plg]# ./mjpg_streamer  -i "./input_uvc.so" -o "./output_http.so -w /mjpg-streamer/www/"
MJPG Streamer Version.: 2.0
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 5
i: Format............: MJPEG
o: www-folder-path...: /mjpg-streamer/www/
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: enabled
zc3xx: probe 2wr ov vga 0x0000

把uvc_stream借来,使用uvc-streamer测试usb摄像头 ,正常。

 

    [root@FriendlyARM plg]# ./uvc_stream
    Using V4L2 device.....: /dev/video0
    Resolution............: 640 x 480
    frames per second.....: 5
    TCP port..............: 8080
    motor control TCP port: 8081
    zc3xx: probe 2wr ov vga 0x0000

把input_cmoscamera.so借来,使用mjpg-streamer测试cmos摄像头了,正常。

 

    [root@FriendlyARM plg]# ./mjpg_streamer  -i "./input_cmoscamera.so" -o "./output_http.so -w /mjpg-streamer/www/"
    MJPG Streamer Version.: 2.0
    i: Using CMOS Camera device.: /dev/camera
    i: Desired Resolution: 640 x 512
    i: Frames Per Second.: 5
    i: Format............: YUV
    i: JPEG Quality......: 80
    o: www-folder-path...: /mjpg-streamer/www/
    o: HTTP TCP port.....: 8080
    o: username:password.: disabled
    o: commands..........: enabled

由于天嵌提供的这方面的资料全一些,所以后面就分析天嵌的WebCam了。

mini2440 MJPG_STREAMER 产生问题的更多相关文章

  1. DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一

    关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基 ...

  2. 移植tslib1.4至mini2440

    在移植tslib1.4至mini2440的过程中出现了一些问题,在解决问题的过程中也学到了不少东西.但是由于注意力不集中也导致了一些低级的错误,非常地浪费时间,以后在做事的时候必须集中注意力,宁愿慢一 ...

  3. linux-3.0内核移植到fl2440开发板(以MINI2440为模板)

    我们的fl2440开发板使用的是s3c2440的芯片,与MINI2440十分相似,因此需要改动的地方不多,移植也比较容易. 1.[weishusheng@localhost kernel]$ sudo ...

  4. 基于mini2440的Qt移植

    花了很长时间,终于把Qt移植到mini2440开发板上了,不能说完全成功,总算是完成一大步,各中过程心酸,废话不多说,下面正式讲解移植过程. 移植环境: win7系统,虚拟机是ubuntu12.04 ...

  5. 基于mini2440的Tslib的移植

    软件平台: win7系统,虚拟机ubuntu12.04 mini2440开发板 tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波.去抖.校准等功能 ...

  6. 基于mini2440的uboot移植(一)

    一.移植环境 虚拟机:ubuntu12.04 uboot源码:u-boot-2008.10.tar.bz2 交叉编译:arm-linux-gcc-4.4.3 简单的记录下编译uboot的过程,要想具体 ...

  7. CubieTruck上安装mjpg_streamer

    最近手头项目需要用到一个上位机,需要在上位机上实现远程访问及视频监控.其中视频监控采用了网上资料较多的mjpg_streamer进行视频处理.在使用中遇到许多坑也一并记录下来. 首先安装依赖环境和检测 ...

  8. 基于boa服务器的web控制mini2440的GPIO口

    win7 系统  虚拟机:ubuntu12.04 开发板:mini2440 上一篇已经详细的讲解了如何配置boa服务器,在这里我们就要利用boa服务器带来的便利,利用web控制开发板上的GIPO口,这 ...

  9. 基于mini2440的boa服务器移植

    win7 系统  开发板:mini2440 虚拟机:ubuntu12.04 准备工作:确保主机与开发板之间能够正常通信,即能够ping通,具体的操作课参考我上一篇随笔. 1.首先从 http://ww ...

随机推荐

  1. 来自奢侈品行业的CEO能给苹果带来什么?

    重回苹果的奢侈品大佬:保罗丹诺威 作为伊夫·圣罗兰(Saint Laurent)时尚集团的前CEO,保罗丹诺威(Paul Deneve)9月将正式加入苹果公司,并负责该公司所谓的“特殊项目”,同时直接 ...

  2. MSSQLSERVER数据库- 游标

    游标是属于级行操作,遍历一个表一行一行读,而SQL查询是基于数据集的,在数据量大的时候,使用游标会降低查询速度.这是很明显的.但是有些操作就用游标实现.所以游标又是不或缺少的.我很久都没用游标了,一时 ...

  3. PHP基本语法(二)

    [重点,哪些情况我们会将其它类型的值视为bool值的假:]1. 整型的0会视为bool值的假来执行,任何非0的整型都视为真2. 浮点的0.0不论后面有多少个0都视为假0.000000000,后面只要有 ...

  4. JQuery EasyUI内Combobox的onChange事件

    1.原始方法 我想写个html代码的都对下拉选择标签select不陌生,关于这个标签,在不加任何渲染的情况下,想要触发其onchange事件是很简单的一件事情,如下: <select id=&q ...

  5. ThinkPHP函数详解:D方法

    从本篇开始,我们会陆续给大家详细说明下框架内置函数的用法. D方法 D方法应该是用的比较多的方法了,用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持 ...

  6. 发送email给列表中的邮箱--python

    #!/usr/bin/python # -*- coding: utf-8 -*- # from email.Header import Header from email.MIMEText impo ...

  7. Scala应用函数

    我们使用“_” 来代替单个的参数,实际上你也可以使用“_”来代替整个参数列表,比如说,你可以使用 print _ 来代替 println (_). someNumbers.foreach(printl ...

  8. ASIC 前端功能验证等级与对应年薪划分[个人意见] (2011-07-04 15:33:35

    下面的讨论转载自eetop,我选取了一些有意义的讨论,加了我的评注. 楼主zhhzhuawei认为 ===================================== 对于ASIC的前端功能验 ...

  9. <转载>解决div里面img的缝隙问题

    转载自:http://blog.sina.com.cn/s/blog_9fd5b6df01013mld.html   练习切图时发现img和父级div之间总是有2px空隙(chrome),上网搜索解决 ...

  10. CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解

    说实话,本人编译hadoop的过程比较曲折,但收获也很多,下面系统介绍一下CentOS7下编译hadoop-2.7.1的全过程吧. 先说明,32位Linux操作系统可以直接下载编译好的hadoop使用 ...