mini2440 MJPG_STREAMER 产生问题
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 产生问题的更多相关文章
- DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一
关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基 ...
- 移植tslib1.4至mini2440
在移植tslib1.4至mini2440的过程中出现了一些问题,在解决问题的过程中也学到了不少东西.但是由于注意力不集中也导致了一些低级的错误,非常地浪费时间,以后在做事的时候必须集中注意力,宁愿慢一 ...
- linux-3.0内核移植到fl2440开发板(以MINI2440为模板)
我们的fl2440开发板使用的是s3c2440的芯片,与MINI2440十分相似,因此需要改动的地方不多,移植也比较容易. 1.[weishusheng@localhost kernel]$ sudo ...
- 基于mini2440的Qt移植
花了很长时间,终于把Qt移植到mini2440开发板上了,不能说完全成功,总算是完成一大步,各中过程心酸,废话不多说,下面正式讲解移植过程. 移植环境: win7系统,虚拟机是ubuntu12.04 ...
- 基于mini2440的Tslib的移植
软件平台: win7系统,虚拟机ubuntu12.04 mini2440开发板 tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波.去抖.校准等功能 ...
- 基于mini2440的uboot移植(一)
一.移植环境 虚拟机:ubuntu12.04 uboot源码:u-boot-2008.10.tar.bz2 交叉编译:arm-linux-gcc-4.4.3 简单的记录下编译uboot的过程,要想具体 ...
- CubieTruck上安装mjpg_streamer
最近手头项目需要用到一个上位机,需要在上位机上实现远程访问及视频监控.其中视频监控采用了网上资料较多的mjpg_streamer进行视频处理.在使用中遇到许多坑也一并记录下来. 首先安装依赖环境和检测 ...
- 基于boa服务器的web控制mini2440的GPIO口
win7 系统 虚拟机:ubuntu12.04 开发板:mini2440 上一篇已经详细的讲解了如何配置boa服务器,在这里我们就要利用boa服务器带来的便利,利用web控制开发板上的GIPO口,这 ...
- 基于mini2440的boa服务器移植
win7 系统 开发板:mini2440 虚拟机:ubuntu12.04 准备工作:确保主机与开发板之间能够正常通信,即能够ping通,具体的操作课参考我上一篇随笔. 1.首先从 http://ww ...
随机推荐
- JVM 进行线程同步背后的原理
前言 所有的 Java 程序都会被翻译为包含字节码的 class 文件,字节码是 JVM 的机器语言.这篇文章将阐述 JVM 是如何处理线程同步以及相关的字节码. 线程和共享数据 Java 的一个优点 ...
- 在Windows8工作站上安装可靠多播协议
为什么要安装可靠多播协议? 答:随着因特网的发展,出现了视频点播.电视会议.远程学习.计算机协同工作等新业务.传统的点到点通信方式,不仅浪费大量的网络带宽,而且效率很低.一种有效利用现有带宽的技术 ...
- 简述configure、pkg-config、pkg_config_path三者的关系
简述configure.pkg-config.pkg_config_path三者的关系 一.什么是configure 源码安装过程中大多会用到configure这个程序,一般的configure都是一 ...
- highcharts 柱形图 饼图 加URL或Click事件
我们在做图表的时候,有时候需要在单个数据上加链接或点击事件,是在plotOptions里的events里设置的 plotOptions: { pie: { cursor: 'pointer', eve ...
- 使用tomcat的jndi方式连接mysql的字符编码设置
最近新项目使用tomcat中配置jndi连接mysql的方式,在使用过程中发现查询条件为中文的时候查询不出结果,经过一通折腾,发现是jndi在连接数据库的时候忘记设置字符编码. 修改之后的完整配置如下 ...
- (一)Redis初学教程之安装篇
1.下载windows下Redis服务安装程序(有32位的和64位的,识操作系统安装) 下载地址:https://github.com/dmajkic/redis/downloads 2.安装教程(详 ...
- PAT 1034. Head of a Gang (30)
题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1034 此题考查并查集的应用,要熟悉在合并的时候存储信息: #include <iostr ...
- eclipse项目出现红色叉叉解决方案
方法一:导入的文件被删除了.解决方法:右击项目名,在弹出的菜单中选择“Bulid Path”-->“configure build path”-->“Source”,找到已被删除的那个文件 ...
- 【转载】ShowWindow函数
ShowWindow的API函数是显示窗体,但它在第一次调用和以后的调用是有差别的.第一次调用时,它的输入參数nCmdShow是须要输入WinMain函数里传入来的nCmdShow參数,而不能是其他參 ...
- JS操作JSON总结(转)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...