{"id":13568070,"url":"https://github.com/natario1/CameraView","last_synced_at":"2025-04-04T04:30:41.041Z","repository":{"id":37396590,"uuid":"97580115","full_name":"natario1/CameraView","owner":"natario1","description":"📸 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, RAW, output of any size.","archived":false,"fork":false,"pushed_at":"2024-09-03T20:56:02.000Z","size":30122,"stargazers_count":4951,"open_issues_count":127,"forks_count":937,"subscribers_count":101,"default_branch":"main","last_synced_at":"2024-10-29T15:04:38.492Z","etag":null,"topics":["android","android-library","camera","camera-api","camera-control","camera-preview","camera2","camera2-api","cameraview","capture-video","filters","frame-processing","high-level","opengl","picture","raw","raw-image","real-time-filter","realtime-filter","watermarks"],"latest_commit_sha":null,"homepage":"https://natario1.github.io/CameraView","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/natario1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["natario1"],"patreon":null,"open_collective":"cameraview","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-07-18T09:30:33.000Z","updated_at":"2024-10-28T09:43:57.000Z","dependencies_parsed_at":"2024-01-13T01:36:27.996Z","dependency_job_id":"0bc8d855-b6bc-4325-9bbf-70529f5782e7","html_url":"https://github.com/natario1/CameraView","commit_stats":{"total_commits":584,"total_committers":61,"mean_commits":9.573770491803279,"dds":"0.30308219178082196","last_synced_commit":"b279ffaf57919b7dffccc8879a0cb1eeb542c1ca"},"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natario1%2FCameraView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natario1%2FCameraView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natario1%2FCameraView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natario1%2FCameraView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/natario1","download_url":"https://codeload.github.com/natario1/CameraView/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246586339,"owners_count":20801087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-library","camera","camera-api","camera-control","camera-preview","camera2","camera2-api","cameraview","capture-video","filters","frame-processing","high-level","opengl","picture","raw","raw-image","real-time-filter","realtime-filter","watermarks"],"created_at":"2024-08-01T14:00:19.634Z","updated_at":"2025-04-04T04:30:37.479Z","avatar_url":"https://github.com/natario1.png","language":"Java","readme":"[![Build Status](https://github.com/natario1/CameraView/workflows/Build/badge.svg?event=push)](https://github.com/natario1/CameraView/actions)\n[![Code Coverage](https://codecov.io/gh/natario1/CameraView/branch/main/graph/badge.svg)](https://codecov.io/gh/natario1/CameraView)\n[![Release](https://img.shields.io/github/release/natario1/CameraView.svg)](https://github.com/natario1/CameraView/releases)\n[![Issues](https://img.shields.io/github/issues-raw/natario1/CameraView.svg)](https://github.com/natario1/CameraView/issues)\n[![Funding](https://img.shields.io/opencollective/all/CameraView.svg?colorB=r)](https://natario1.github.io/CameraView/extra/donate)\n\n\u0026#10240;  \u003c!-- Hack to add whitespace --\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/static/banner.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n*Post-processing videos or want to reduce video size before uploading? Take a look at our [Transcoder](https://github.com/natario1/Transcoder).*\n\n*Like the project, make profit from it, or simply want to thank back? Please consider [sponsoring me](https://github.com/sponsors/natario1) or [donating](https://natario1.github.io/CameraView/extra/donate)!*\n\n*Need support, consulting, or have any other business-related question? Feel free to \u003ca href=\"mailto:mat.iavarone@gmail.com\"\u003eget in touch\u003c/a\u003e.*\n\n# CameraView\n\nCameraView is a well documented, high-level library that makes capturing pictures and videos easy,\naddressing most of the common issues and needs, and still leaving you with flexibility where needed.\n\n```groovy\napi 'com.otaliastudios:cameraview:2.7.2'\n```\n\n- Fast \u0026 reliable\n- Gestures support [[docs]](https://natario1.github.io/CameraView/docs/gestures)\n- Real-time filters [[docs]](https://natario1.github.io/CameraView/docs/filters)\n- Camera1 or Camera2 powered engine [[docs]](https://natario1.github.io/CameraView/docs/previews)\n- Frame processing support [[docs]](https://natario1.github.io/CameraView/docs/frame-processing)\n- Watermarks \u0026 animated overlays [[docs]](https://natario1.github.io/CameraView/docs/watermarks-and-overlays)\n- OpenGL powered preview [[docs]](https://natario1.github.io/CameraView/docs/previews)\n- Take high-quality content with `takePicture` and `takeVideo` [[docs]](https://natario1.github.io/CameraView/docs/capturing-media)\n- Take super-fast snapshots with `takePictureSnapshot` and `takeVideoSnapshot` [[docs]](https://natario1.github.io/CameraView/docs/capturing-media)\n- Smart sizing: create a `CameraView` of any size [[docs]](https://natario1.github.io/CameraView/docs/preview-size)\n- Control HDR, flash, zoom, white balance, exposure, location, grid drawing \u0026 more [[docs]](https://natario1.github.io/CameraView/docs/controls)\n- RAW pictures support [[docs]](https://natario1.github.io/CameraView/docs/controls)\n- Lightweight\n- Works down to API level 15\n- Well tested\n\n\u0026#10240;  \u003c!-- Hack to add whitespace --\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/static/screen1.png\" width=\"250\" hspace=\"5\"\u003e\u003cimg src=\"docs/static/screen2.png\" width=\"250\" hspace=\"5\"\u003e\u003cimg src=\"docs/static/screen3.png\" width=\"250\" hspace=\"5\"\u003e\n\u003c/p\u003e\n\n\u0026#10240;  \u003c!-- Hack to add whitespace --\u003e\n\n## Support \n\nIf you like the project, make profit from it, or simply want to thank back, please consider \n[sponsoring me](https://github.com/sponsors/natario1) through the GitHub Sponsors program! You can\nhave your company logo here, get private support hours or simply help me push this forward.\nIf you prefer, you can also [donate](https://natario1.github.io/CameraView/extra/donate) \nto our OpenCollective page.\n\nCameraView is trusted and supported by [ShareChat](https://sharechat.com/), a social media app with over 100 million downloads. \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/static/sharechat.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\nFeel free to \u003ca href=\"mailto:mat.iavarone@gmail.com\"\u003econtact me\u003c/a\u003e for support, consulting or any other business-related question.\n\nThanks to all our project backers... [[become a backer]](https://opencollective.com/cameraview#backer)\n\n\u003ca href=\"https://opencollective.com/cameraview#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/backers.svg?width=890\"\u003e\u003c/a\u003e\n\n...and to all our project sponsors! [[become a sponsor]](https://opencollective.com/cameraview#sponsor)\n\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/cameraview/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/cameraview/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\n## Setup\n\nPlease read the [official website](https://natario1.github.io/CameraView) for setup instructions and documentation.\nYou might also be interested in our [changelog](https://natario1.github.io/CameraView/about/changelog)\nor in the [v1 migration guide](https://natario1.github.io/CameraView/extra/v1-migration-guide). \nUsing CameraView is extremely simple:\n\n```xml\n\u003ccom.otaliastudios.cameraview.CameraView\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    app:cameraPictureSizeMinWidth=\"@integer/picture_min_width\"\n    app:cameraPictureSizeMinHeight=\"@integer/picture_min_height\"\n    app:cameraPictureSizeMaxWidth=\"@integer/picture_max_width\"\n    app:cameraPictureSizeMaxHeight=\"@integer/picture_max_height\"\n    app:cameraPictureSizeMinArea=\"@integer/picture_min_area\"\n    app:cameraPictureSizeMaxArea=\"@integer/picture_max_area\"\n    app:cameraPictureSizeSmallest=\"false|true\"\n    app:cameraPictureSizeBiggest=\"false|true\"\n    app:cameraPictureSizeAspectRatio=\"@string/video_ratio\"\n    app:cameraVideoSizeMinWidth=\"@integer/video_min_width\"\n    app:cameraVideoSizeMinHeight=\"@integer/video_min_height\"\n    app:cameraVideoSizeMaxWidth=\"@integer/video_max_width\"\n    app:cameraVideoSizeMaxHeight=\"@integer/video_max_height\"\n    app:cameraVideoSizeMinArea=\"@integer/video_min_area\"\n    app:cameraVideoSizeMaxArea=\"@integer/video_max_area\"\n    app:cameraVideoSizeSmallest=\"false|true\"\n    app:cameraVideoSizeBiggest=\"false|true\"\n    app:cameraVideoSizeAspectRatio=\"@string/video_ratio\"\n    app:cameraSnapshotMaxWidth=\"@integer/snapshot_max_width\"\n    app:cameraSnapshotMaxHeight=\"@integer/snapshot_max_height\"\n    app:cameraFrameProcessingMaxWidth=\"@integer/processing_max_width\"\n    app:cameraFrameProcessingMaxHeight=\"@integer/processing_max_height\"\n    app:cameraFrameProcessingFormat=\"@integer/processing_format\"\n    app:cameraFrameProcessingPoolSize=\"@integer/processing_pool_size\"\n    app:cameraFrameProcessingExecutors=\"@integer/processing_executors\"\n    app:cameraVideoBitRate=\"@integer/video_bit_rate\"\n    app:cameraAudioBitRate=\"@integer/audio_bit_rate\"\n    app:cameraGestureTap=\"none|autoFocus|takePicture\"\n    app:cameraGestureLongTap=\"none|autoFocus|takePicture\"\n    app:cameraGesturePinch=\"none|zoom|exposureCorrection|filterControl1|filterControl2\"\n    app:cameraGestureScrollHorizontal=\"none|zoom|exposureCorrection|filterControl1|filterControl2\"\n    app:cameraGestureScrollVertical=\"none|zoom|exposureCorrection|filterControl1|filterControl2\"\n    app:cameraEngine=\"camera1|camera2\"\n    app:cameraPreview=\"glSurface|surface|texture\"\n    app:cameraPreviewFrameRate=\"@integer/preview_frame_rate\"\n    app:cameraPreviewFrameRateExact=\"false|true\"\n    app:cameraFacing=\"back|front\"\n    app:cameraHdr=\"on|off\"\n    app:cameraFlash=\"on|auto|torch|off\"\n    app:cameraWhiteBalance=\"auto|cloudy|daylight|fluorescent|incandescent\"\n    app:cameraMode=\"picture|video\"\n    app:cameraAudio=\"on|off|mono|stereo\"\n    app:cameraGrid=\"draw3x3|draw4x4|drawPhi|off\"\n    app:cameraGridColor=\"@color/grid_color\"\n    app:cameraPlaySounds=\"true|false\"\n    app:cameraVideoMaxSize=\"@integer/video_max_size\"\n    app:cameraVideoMaxDuration=\"@integer/video_max_duration\"\n    app:cameraVideoCodec=\"deviceDefault|h264|h263\"\n    app:cameraAutoFocusResetDelay=\"@integer/autofocus_delay\"\n    app:cameraAutoFocusMarker=\"@string/cameraview_default_autofocus_marker\"\n    app:cameraUseDeviceOrientation=\"true|false\"\n    app:cameraFilter=\"@string/real_time_filter\"\n    app:cameraPictureMetering=\"true|false\"\n    app:cameraPictureSnapshotMetering=\"false|true\"\n    app:cameraPictureFormat=\"jpeg|dng\"\n    app:cameraRequestPermissions=\"true|false\"\n    app:cameraExperimental=\"false|true\"\u003e\n    \n    \u003c!-- Watermark! --\u003e\n    \u003cImageView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"bottom|end\"\n        android:src=\"@drawable/watermark\"\n        app:layout_drawOnPreview=\"true|false\"\n        app:layout_drawOnPictureSnapshot=\"true|false\"\n        app:layout_drawOnVideoSnapshot=\"true|false\"/\u003e\n        \n\u003c/com.otaliastudios.cameraview.CameraView\u003e\n```\n","funding_links":["https://github.com/sponsors/natario1","https://opencollective.com/cameraview"],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatario1%2FCameraView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnatario1%2FCameraView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatario1%2FCameraView/lists"}