Skip to content

๐Ÿ“ธ A well documented, high-level Android interface that makes capturing pictures and videos easy, addressing all of the common issues and needs. Real-time filters, gestures, watermarks, frame processing, output of any size.

License

Notifications You must be signed in to change notification settings

chiel99/CameraView

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Build Status Code Coverage Release Issues Funding

โ €

Post-processing videos or want to reduce video size before uploading? Take a look at our Transcoder.

Like the project, make profit from it, or simply want to thank back? Please consider donating!

Need support, consulting, or have any other business-related question? Feel free to get in touch.

CameraView

CameraView is a well documented, high-level library that makes capturing pictures and videos easy, addressing most of the common issues and needs, and still leaving you with flexibility where needed.

api 'com.otaliastudios:cameraview:2.2.0'
  • Fast & reliable
  • Gestures support [docs]
  • Real-time filters [docs]
  • Camera1 or Camera2 powered engine [docs]
  • Frame processing support [docs]
  • Watermarks & animated overlays [docs]
  • OpenGL powered preview [docs]
  • Take high-quality content with takePicture and takeVideo [docs]
  • Take super-fast snapshots with takePictureSnapshot and takeVideoSnapshot [docs]
  • Smart sizing: create a CameraView of any size [docs]
  • Control HDR, flash, zoom, white balance, exposure, location, grid drawing & more [docs]
  • Lightweight
  • Works down to API level 15
  • Well tested

โ €

โ €

Support

If you like the project, make profit from it, or simply want to thank back, please consider donating now! You can either make a one time donation or become a sponsor, in which case your company logo will immediately show up below.

CameraView is trusted and supported by ShareChat, a social media app with over 14 million daily active users.

Feel free to contact me for support, consulting or any other business-related question.

Thanks to all our backers... [become a backer]

...and to all our sponsors! [become a sponsor]

Setup

Please read the official website for setup instructions and documentation. You might also be interested in our changelog or in the v1 migration guide. Using CameraView is extremely simple:

<com.otaliastudios.cameraview.CameraView xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" app:cameraPictureSizeMinWidth="@integer/picture_min_width" app:cameraPictureSizeMinHeight="@integer/picture_min_height" app:cameraPictureSizeMaxWidth="@integer/picture_max_width" app:cameraPictureSizeMaxHeight="@integer/picture_max_height" app:cameraPictureSizeMinArea="@integer/picture_min_area" app:cameraPictureSizeMaxArea="@integer/picture_max_area" app:cameraPictureSizeSmallest="false|true" app:cameraPictureSizeBiggest="false|true" app:cameraPictureSizeAspectRatio="@string/video_ratio" app:cameraVideoSizeMinWidth="@integer/video_min_width" app:cameraVideoSizeMinHeight="@integer/video_min_height" app:cameraVideoSizeMaxWidth="@integer/video_max_width" app:cameraVideoSizeMaxHeight="@integer/video_max_height" app:cameraVideoSizeMinArea="@integer/video_min_area" app:cameraVideoSizeMaxArea="@integer/video_max_area" app:cameraVideoSizeSmallest="false|true" app:cameraVideoSizeBiggest="false|true" app:cameraVideoSizeAspectRatio="@string/video_ratio" app:cameraSnapshotMaxWidth="@integer/snapshot_max_width" app:cameraSnapshotMaxHeight="@integer/snapshot_max_height" app:cameraVideoBitRate="@integer/video_bit_rate" app:cameraAudioBitRate="@integer/audio_bit_rate" app:cameraGestureTap="none|autoFocus|takePicture" app:cameraGestureLongTap="none|autoFocus|takePicture" app:cameraGesturePinch="none|zoom|exposureCorrection|filterControl1|filterControl2" app:cameraGestureScrollHorizontal="none|zoom|exposureCorrection|filterControl1|filterControl2" app:cameraGestureScrollVertical="none|zoom|exposureCorrection|filterControl1|filterControl2" app:cameraEngine="camera1|camera2" app:cameraPreview="glSurface|surface|texture" app:cameraFacing="back|front" app:cameraHdr="on|off" app:cameraFlash="on|auto|torch|off" app:cameraWhiteBalance="auto|cloudy|daylight|fluorescent|incandescent" app:cameraMode="picture|video" app:cameraAudio="on|off|mono|stereo" app:cameraGrid="draw3x3|draw4x4|drawPhi|off" app:cameraGridColor="@color/grid_color" app:cameraPlaySounds="true|false" app:cameraVideoMaxSize="@integer/video_max_size" app:cameraVideoMaxDuration="@integer/video_max_duration" app:cameraVideoCodec="deviceDefault|h264|h263" app:cameraAutoFocusResetDelay="@integer/autofocus_delay" app:cameraAutoFocusMarker="@string/cameraview_default_autofocus_marker" app:cameraUseDeviceOrientation="true|false" app:cameraFilter="@string/real_time_filter" app:cameraExperimental="false|true"> <!-- Watermark! --> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:src="@drawable/watermark" app:layout_drawOnPreview="true|false" app:layout_drawOnPictureSnapshot="true|false" app:layout_drawOnVideoSnapshot="true|false"/> </com.otaliastudios.cameraview.CameraView>

About

๐Ÿ“ธ A well documented, high-level Android interface that makes capturing pictures and videos easy, addressing all of the common issues and needs. Real-time filters, gestures, watermarks, frame processing, output of any size.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%