androidwindows上多个USB Camera同时使用实验小结

 

           USB Camera是个不错的东西,但是多个USB Camera能同时打开使用吗?笔者在windows PC上做过实验,分两种情况:

        实验一:将两个USB Camera分别接到PC上两个USB host接口上,可以同时预览摄像头,截图如下:

 

          实验二:将两个USB Camera通过同一个USB HUB接到PC1USB host接口上,同一时间只能预览一个摄像头,两个分开使用都能工作,只是不能同时工作,截图如下:

 

          在android平台,笔者也做了上面说的实验二,情况一样,也是同一时间只能有一个在工作。实验条件:先让一个camera工作在后台,通过写一个mediarecoder的应用,在退出应用的时候不做mMediaRecorder.stop();这样这个camera就会一直在录像,后台一直在处理它的数据。另外,写一个类似camera程序,只要可以预览就可以了,笔者也做了一个这样的应用,连hal层、JNIapk都独立些一套。但是在运行这个应用的时候,会出现一些错误:

[ 1342.944561] uvcvideo: uvc_v4l2_mmap[ 1342.944714] uvcvideo: uvc_v4l2_mmap[ 1342.944853] uvcvideo: uvc_v4l2_mmap[ 1342.961262] uvcvideo: Device requested 956 B/frame bandwidth.[ 1342.961280] uvcvideo: Selecting alternate setting 6 (956 B/frame bandwidth).[ 1342.964808] uvcvideo: Allocated 5 URB buffers of 32x956 bytes each.[ 1342.965079] uvcvideo: Failed to submit URB 0 (-28).01-01 09:45:42.970 D/UVCDecHW( 4504): TO VIDIOC_REQBUFS count: 4[ 1342.967080] sw-ohci sw-ohci.1: leak ed ffdfb240 (#81) state 201-01 09:45:42.990 D/UVCDecHW( 4504): index: 0, mem: 520c6000, len: 25800, offset: 001-01 09:45:42.990 D/UVCDecHW( 4504): index: 1, mem: 520ec000, len: 25800, offset: 2600001-01 09:45:42.990 D/UVCDecHW( 4504): index: 2, mem: 52112000, len: 25800, offset: 4c00001-01 09:45:42.990 D/UVCDecHW( 4504): index: 3, mem: 52138000, len: 25800, offset: 7200001-01 09:45:43.010 E/UVCDecHW( 4504): StartStreaming: Unable to start capture: No space left on device01-01 09:45:43.010 E/UVCDecHW( 4504): ERROR: v4l2Init, line: 56501-01 09:45:43.010 E/UVCDecHW( 4504): ERROR: startUVCDecoder, line: 23 

笔者尝试在android平台上做实验一,也没有成功。实验方法还是一样的,因为不同US B Host接口进去,都是产生video设备文件。出错信息稍微有些不一样,如下:

  

[   67.781802] uvcvideo: uvc_v4l2_mmap[   67.799917] uvcvideo: uvc_v4l2_mmap[   67.800834] uvcvideo: uvc_v4l2_mmap[   67.801773] uvcvideo: uvc_v4l2_mmap[   67.820917] uvcvideo: Device requested 3072 B/frame bandwidth.[   67.820936] uvcvideo: Selecting alternate setting 6 (3072 B/frame bandwidth).[   67.831425] uvcvideo: Allocated 5 URB buffers of 32x3072 bytes each.[   67.831485] WRN:L2837(drivers/usb/sun7i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_urb_enqueue, ep packet is too big, maxpacket = 5120[   67.831513] uvcvideo: Failed to submit URB 0 (-90).[   67.832153] [sw_hcd]: sw_hcd_h_disable, epnum = 81[   69.474063] [fantasy] wrn dbs_check_cpu, 1227 : try to switch cpu freq to 672000 [   72.574266] [fantasy] wrn dbs_check_cpu, 1227 : try to switch cpu freq to 480000 [   75.444027] [fantasy] wrn cpu need plugout, cpus_load_max:85<30 && cpus_rq_max: 189<200[   75.458793] CPU1: shutdown


      从笔者目前了解到的情况是,同一个USB host只能同时工作一个USB video设备,但是还是可以挂多个USB video设备。在android平台上两个usb host也没有同时跑起两个usb camera,但是windows系统上可以。里面还是有很多东西需要研究。

 

更多相关文章

  1. Android之SharedPreferences两个工具类
  2. Android(安卓)SDK镜像的介绍使用
  3. 第四章-View的工作原理(MeasureSpec、LayoutParams)
  4. Android(安卓)启动Activity两个属性 .MAIN .LAUNCHER
  5. [转载]android下activity中两个listview只允许主界面滚动
  6. 如何成为 Android(安卓)开发高手?
  7. 【Android】给Android(安卓)Studio设置代理
  8. 两个Activity之间跳转问题之activity的四种加载模式
  9. android进度条修改教程(颜色,高度)

随机推荐

  1. Android(安卓)-- BroadcastReceiver的使
  2. 使用React Native开发Android手持机
  3. Android核心功能模块介绍
  4. 浅析Android线程模型
  5. android静默安装的实现(一)
  6. Android串口设备的应用实现方案以及与WEB
  7. Android自定义视图四:定制onMeasure强制显
  8. Android将胜过Windows Mobile五大原因
  9. android开发学习笔记(2)android的基本介绍
  10. Android应用程序进程启动过程的源代码分