GithubHelp home page GithubHelp logo

suethan / androidusbcamera Goto Github PK

View Code? Open in Web Editor NEW
44.0 6.0 16.0 6.43 MB

Android USB Camera

Java 4.28% Makefile 1.30% C++ 12.52% C 72.50% Shell 6.93% Groff 0.71% M4 0.43% SAS 0.28% Smalltalk 0.05% Assembly 0.17% HTML 0.18% Module Management System 0.27% Batchfile 0.17% CMake 0.08% CSS 0.13%

androidusbcamera's Introduction

AndroidUSBCamera

android usb camera on non-rooted Android devices.
在Android设备上使用外接usb摄像头的项目,无需root权限。

use step:

1.init view and camera

mCameraView.setAspectRatio(PREVIEW_WIDTH / (float)PREVIEW_HEIGHT);

camera = new USBCamera();
camera.init(this);
camera.setCameraType(CameraType.C3D_SBS);

2. start preview

    if(!camera.isCameraOpened()){
        boolean ret = camera.open(0);
        if(!ret){
            Toast.makeText(USBCameraActivity.this, "NO_USB_DEVICE", Toast.LENGTH_SHORT).show();
        }else {
            camera.setPreviewSize(PREVIEW_WIDTH,PREVIEW_HEIGHT);
            camera.setPreviewTexture(mCameraView.getSurfaceTexture());
            camera.startPreview();
        }
    }

3. captureStill

    if(camera.isCameraOpened()){
        Toast.makeText(USBCameraActivity.this, "Captured", Toast.LENGTH_SHORT).show();
        camera.captureStill();
    }

4. recording

    if(camera.isCameraOpened() && !camera.isRecording()){
        Toast.makeText(USBCameraActivity.this, "startRecording", Toast.LENGTH_SHORT).show();
        camera.startRecording();
    }
    if(camera.isCameraOpened() && camera.isRecording()){
        Toast.makeText(USBCameraActivity.this, "stopRecording", Toast.LENGTH_SHORT).show();

        camera.stopRecording();
    }

5. stop

    if(camera.isCameraOpened()){
       camera.close();
    }

6. destory

camera.destroy();

Refer

http://bigflake.com/mediacodec/

注意:

PREVIEW_WIDTH、PREVIEW_HEIGHT的大小和外接摄像头,手机硬件编码器有关。
不合适的值,可能会发生错误。
常见值:
	标清:480P   640*480
	高清:720P	1280*720
	超清:1080P	1920*1080
如果是双摄:
	标清:480P   1280*480
	高清:720P	2560*720
	超清:1080P	3840*1080
	并调用,camera.setCameraType(CameraType.C3D_SBS)

Todo

1.同时录制视频和声音。
    需要常见的宽高比例,如果是双摄像头,目前简易做法,camera.setCameraType(CameraType.C3D_SBS),将全宽图片压缩为半宽。
2.编写Camera应用,测试插件。
3.优化压缩方式。
4.支持多种预览方式。
5.支持两种拍摄和录制方式
    原始数据。
    预览画面显示的数据。

androidusbcamera's People

Contributors

hailindai avatar

Stargazers

 avatar  avatar KimJuYoung avatar  avatar Pavel Vasiliev avatar Maker Chen avatar  avatar Du Kun avatar  avatar  avatar Lihang Xu avatar syco avatar  avatar  avatar Rob Czepil avatar  avatar Lawrance avatar tg-z avatar  avatar Johan Hormaza Ricardo avatar  avatar Dingyi Chen avatar Adrian web avatar Duncan Thomas avatar  avatar Xi'Ge avatar  avatar Wade avatar  avatar  avatar  avatar  avatar  avatar Bo avatar  avatar  avatar Typewriter avatar  avatar 聂志洋 avatar caiyufeng avatar H.F. avatar quinn avatar  avatar  avatar

Watchers

syco avatar James Cloos avatar  avatar ethan avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.