RK 3399 Camera呼び出しUSBカメラ(一)テスト編


新しく买った开発ボードRK 3399外付けUSBカメラを见て、下を见て、RK 3399 Androidシステムromは底のUVC駆动をサポートして、いくつかのテスト结果とテストdemoを记录して、他の人が穴を踏まないようにして、もしあなたを助けることができるならば、関心とstartをクリックして、ありがとうございます

文書ディレクトリ

  • 一、USBカメラ接続情報印刷
  • 1. CameraはUSBカメラ
  • を起動する
  • 2. 罗技0カメラテスト
  • 3. USB3.0カメラテスト
  • 4. サポート解像度フォーマット説明
  • 一、USBカメラ接続情報印刷


    1.カメラがUSBカメラを起動する

  • カメラが存在しない場合warnエラー警告をオンにし、この異常処理を傍受すればよい.いくつかのエラー:
  • カメラ解像度は問題をサポートしていません.エラー(システムカメラのデフォルトで開いている640*480)を開くには、HALレイヤから
  • を変更する必要があります.
  • USB抜き差しアドレスの問題で、RK 3399はUSBカメラに接続され、デフォルトでは/dev/video 0アドレスからV 4 L 2で開きます.しかし、不確定時のハードウェアUSBインタフェースの問題は駆動の問題であり、たまに抜き差しするとVideo 1認識が発生し、開きに失敗する問題は
  • である.
  • Cameraがサポートする解像度リストを取得し、USBカメラがリスト内にない場合、システムカメラが開いてクラッシュする.もちろん、自分のソフトウェア呼び出しカメラに問題はない
       warn , 
      System.err: java.lang.RuntimeException: Fail to connect to camera service
      System.err:     at android.hardware.Camera.(Camera.java:496)
      System.err:     at android.hardware.Camera.open(Camera.java:345)
      System.err:     at com.yue.customcamera.handler.Camera1Control.startCamera(Camera1Control.java:169)
      System.err:     at com.yue.customcamera.handler.Camera1Control.access$000(Camera1Control.java:39)
      System.err:     at com.yue.customcamera.handler.Camera1Control$1.run(Camera1Control.java:138)
      System.err:     at android.os.Handler.handleCallback(Handler.java:755)
      System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
      System.err:     at android.os.Looper.loop(Looper.java:154)
      System.err:     at android.os.HandlerThread.run(HandlerThread.java:61)
    
  • .

    2.罗技USB 2.0カメラテスト

  • 挿入:
      EventHub: No input device configuration file found for device 'UVC Camera (046d:0825)'.
      EventHub: Unable to disable kernel key repeat for /dev/input/event4: Function not implemented
      EventHub: New device: id=17, fd=280, path='/dev/input/event4', name='UVC Camera (046d:0825)', classes=0x80000401, configuration='', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false, wakeMechanism=EPOLLWAKEUP, usingClockIoctl=true
      InputReader: Device added: id=17, name='UVC Camera (046d:0825)', sources=0x00002103		
    
      Added device UsbDevice[mName=/dev/bus/usb/005/002,mVendorId=1133,mProductId=2085,mClass=239,mSubclass=2,mProtocol=1,mManufacturerName=null,mProductName=null,mVersion=2.0,mSerialNumber=87430990,mConfigurations=[
      UsbConfiguration[mId=1,mName=null,mAttributes=128,mMaxPower=250,mInterfaces=[
      UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=14,mSubclass=1,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=135,mAttributes=3,mMaxPacketSize=16,mInterval=8]]
      UsbInterface[mId=1,mAlternateSetting=0,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[]
      UsbInterface[mId=1,mAlternateSetting=1,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=192,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=2,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=384,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=3,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=512,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=4,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=640,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=5,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=800,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=6,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=944,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=7,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=2688,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=8,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=2848,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=9,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=3040,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=10,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=4992,mInterval=1]]
      UsbInterface[mId=1,mAlternateSetting=11,mName=null,mClass=14,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=5116,mInterval=1]]
      UsbInterface[mId=2,mAlternateSetting=0,mName=null,mClass=1,mSubclass=1,mProtocol=0,mEndpoints=[]
      UsbInterface[mId=3,mAlternateSetting=0,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[]
      UsbInterface[mId=3,mAlternateSetting=1,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=134,mAttributes=5,mMaxPacketSize=68,mInterval=4]]
      UsbInterface[mId=3,mAlternateSetting=2,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=134,mAttributes=5,mMaxPacketSize=100,mInterval=4]]
      UsbInterface[mId=3,mAlternateSetting=3,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=134,mAttributes=5,mMaxPacketSize=132,mInterval=4]]
      UsbInterface[mId=3,mAlternateSetting=4,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[
      UsbEndpoint[mAddress=134,mAttributes=5,mMaxPacketSize=196,mInterval=4]]]]
    
  • 抜去:
      EventHub: Removing device UVC Camera (046d:0825) due to epoll hang-up event.
      EventHub: Removed device: path=/dev/input/event5 name=UVC Camera (046d:0825) id=18 fd=304 classes=0x80000401
      InputReader: Device removed: id=18, name='UVC Camera (046d:0825)', sources=0x00002103
      EventHub: Removing device '/dev/input/event5' due to inotify event
      UsbAlsaManager: ALSA device removed: AlsaDevice: [card: 3, device: 0, type: 2]
      UsbAlsaManager: USB Audio Device Removed: UsbAudioDevice: [card: 3, device: 0, name: USB-Audio - USB Device 0x46d:0x825, hasPlayback: false, hasCapture: true, class: 0x80000002]
    
  • 3. USB3.0カメラテスト

  • 挿入:
      EventHub: Unable to disable kernel key repeat for /dev/input/event5: Function not implemented
      EventHub: New device: id=12, fd=245, path='/dev/input/event5', name='USB3.0 Camera', classes=0x80000401, configuration='', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false, wakeMechanism=EPOLLWAKEUP, usingClockIoctl=true
      InputReader: Device added: id=12, name='USB3.0 Camera', sources=0x00002103
      UsbHostManager: Added device UsbDevice[
      mName=/dev/bus/usb/004/008,
      mVendorId=1423,
      mProductId=866,
      mClass=239,
      mSubclass=2,
      mProtocol=1,
      mManufacturerName=LRCP_USB3.0,
      mProductName=USB3.0 Camera,mVersion=3.0,
      mSerialNumber=200901010001,
      mConfigurations=[
          UsbConfiguration[
      		mId=1,mName=USB3.0 Camera,mAttributes=128,mMaxPower=100,
      		mInterfaces=[
      		    UsbInterface[mId=0,mAlternateSetting=0,mName=LRCP_USB3.0,mClass=14,mSubclass=1,mProtocol=0,
      				mEndpoints=[
      		    		UsbEndpoint[mAddress=131,mAttributes=3,mMaxPacketSize=16,mInterval=6]
      				]
      		    UsbInterface[mId=1,mAlternateSetting=0,mName=null,mClass=14,mSubclass=2,mProtocol=0,
      				mEndpoints=[
      		    		UsbEndpoint[mAddress=129,mAttributes=2,mMaxPacketSize=1024,mInterval=0]
      				]
      		    UsbInterface[mId=2,mAlternateSetting=0,mName=null,mClass=3,mSubclass=0,mProtocol=0,
      				mEndpoints=[
      		    		UsbEndpoint[mAddress=132,mAttributes=3,mMaxPacketSize=1,mInterval=6]
      				]
      			]
      	]
      ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:877 com.android.server.usb.UsbSettingsManager.deviceAttached:739 com.android.server.usb.UsbHostManager.endUsbDeviceAdded:225 com.android.server.usb.UsbHostManager.monitorUsbHostBus:-2 com.android.server.usb.UsbHostManager.-wrap0:-1 
      UsbSettingsManager: no meta-data for ResolveInfo{7fc2aba com.serenegiant.usbcameratest4/com.serenegiant.usbcamerazxing.MainActivity m=0x108000}
    
  • 4.解像度フォーマットの説明をサポート


    サポートされている解像度リストとUSBカメラの関連付けは、カメラによってサポートされています.
    --getSupportedPreviewSizes -----begin-------------------------------------------------
    --getSupportedPreviewSizes --0:1920x1080
    --getSupportedPreviewSizes --1:1280x720
    --getSupportedPreviewSizes --2:1920x1080
    --getSupportedPreviewSizes --3:1280x720
    --getSupportedPreviewSizes --4:3840x2160
    --getSupportedPreviewSizes --5:1920x1080
    --getSupportedPreviewSizes --6:1920x1080
    --getSupportedPreviewSizes --7:1280x720
    --getSupportedPreviewSizes --8:1280x720
    --getSupportedPreviewSizes --9:2560x720
    --getSupportedPreviewSizes -----end-------------------------------------------
    
    --picturesize-----begin--------------------------------------------
    --picturesize--0:1920x1080
    --picturesize--1:1280x720
    --picturesize--2:1920x1080
    --picturesize--3:1280x720
    --picturesize--4:3840x2160
    --picturesize--5:1920x1080
    --picturesize--6:1920x1080
    --picturesize--7:1280x720
    --picturesize--8:1280x720
    --picturesize--9:2560x720
    --picturesize-----end-------------------------------------------
    
  • 羅技カメラ
      --getSupportedPreviewSizes -----begin-------------------------------------------------
      --getSupportedPreviewSizes --0:640x480
      --getSupportedPreviewSizes --1:176x144
      --getSupportedPreviewSizes --2:320x176
      --getSupportedPreviewSizes --3:320x240
      --getSupportedPreviewSizes --4:352x288
      --getSupportedPreviewSizes --5:432x240
      --getSupportedPreviewSizes --6:544x288
      --getSupportedPreviewSizes --7:752x416
      --getSupportedPreviewSizes --8:800x448
      --getSupportedPreviewSizes --9:864x480
      --getSupportedPreviewSizes --10:960x544
      --getSupportedPreviewSizes --11:960x720
      --getSupportedPreviewSizes --12:1024x576
      --getSupportedPreviewSizes --13:1184x656
      --getSupportedPreviewSizes --14:1280x720
      --getSupportedPreviewSizes --15:1280x960
      --getSupportedPreviewSizes -----end-------------------------------------------
      
      --picturesize-----begin-------------------------------------------------
      --picturesize--0:640x480
      --picturesize--1:176x144
      --picturesize--2:320x176
      --picturesize--3:320x240
      --picturesize--4:352x288
      --picturesize--5:432x240
      --picturesize--6:544x288
      --picturesize--7:752x416
      --picturesize--8:800x448
      --picturesize--9:864x480
      --picturesize--10:960x544
      --picturesize--11:960x720
      --picturesize--12:1024x576
      --picturesize--13:1184x656
      --picturesize--14:1280x720
      --picturesize--15:1280x960
      --picturesize-----end-------------------------------------------
    
  • USB識別logの一部は、疑わしい場合にはサポート解像度が取得できないため、デフォルトparamsテンプレート
      initDefaultParameters(565): mIsCtsTest:0 Support video sizes:(null)
      initDefaultParameters(582): Support Preview format: yuv420sp,yuv420p .. yuv420sp
      initDefaultParameters(584): Support Preview sizes: 1920x1080,1280x720,1920x1080,1280x720,3840x2160,1920x1080,1920x1080,1280x720,1280x720
      initDefaultParameters(585): Support Preview FPS range: (25000,150000)
      initDefaultParameters(586): Support Preview framerate: 25,150
      initDefaultParameters(587): Support Picture sizes: 1920x1080,1280x720,1920x1080,1280x720,3840x2160,1920x1080,1920x1080,1280x720,1280x720
      initDefaultParameters(597): Support focus: fixed  focus zone: 0
      initDefaultParameters(599): Support zoom: true(ratios: 100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,2
      initDefaultParameters(603): Support exposure: (-3 -> 3)
      initDefaultParameters(609): Support hardware faces detecte: 2
      initDefaultParameters(610): Support software faces detecte: 0
      initDefaultParameters(611): Support video stabilization: false
      initDefaultParameters(612): Support recording hint: false
      cameraConfig(744): cameraConfig(744): Set framerate(150 fps) success
      cameraConfig(945): cameraConfig(945): Set exposure 0	127
      isNeedToRestartPreview(144): mPreviewFrame2AppW (640x480)
      isNeedToRestartPreview(145): mCamPreviewW (1920x1080)
      isNeedToRestartPreview(146): video width (640x480)
      camera_get_camera_info(1441): camera_get_camera_info(1441): camera_0 facing(0), orientation(0)
    
  • が呼び出される.