About media creation, capture, and sharing
Stay organized with collections
Save and categorize content based on your preferences.
Capturing videos, editing photos, and processing media content are fundamental
features of social and messaging apps, and Android has created APIs that support
the latest device hardware features, along with libraries that simplify
integration into your app. This page connects you to resources to both help you
get started and level up your app.
Know key media creation concepts
Android has APIs and libraries that help your app best adapt to device
capabilities while handling the diversity of the Android ecosystem.
You can perform basic camera capture using the device's built-in camera
application using an Intent. For social and communications apps, having
built-in support for high-quality media capture can provide a competitive
advantage. Learn how:
- CameraX — The recommended option for most developers, a library providing
easy-to-use support for most common camera use cases with consistent,
compatible behavior.
- Camera2 — The low-level Android camera API that the CameraX
library wraps. Use this class when you need low-level control.
- Camera extensions — Lets your app access advanced camera capabilities
such as night, bokeh, face retouch, and HDR.
- Camera viewfinder — Simplifies Camera2 integration by providing a base
viewfinder widget to display the camera feed.
- Camera — The deprecated original class used to control the camera on
Android.
Browse, share, and edit media
Make sure that your users have easy access to edit and share the media they've
created and captured in the best possible quality:
- Media3 Transformer APIs — This API lets users edit media with ease. Edit
capabilities include converting between formats (transcoding), applying
changes like trimming a clip from a longer video, cropping a portion of the
video frame, applying custom effects, and other editing operations.
- Photo Picker — This component provides a safe, built-in way for users to
grant your app access to only selected images and videos, instead of their
entire media library.
- Android Sharesheet — This component lets users send content from one app
to another.
- Ultra HDR Image Format — The JPEG-based file format used to encode
images with a logarithmic-range gain map that can render in high dynamic range
on compatible displays.
Level up your app
You'll want your app to support features that meet and surpass user
expectations. One way to do that is to support the advanced media features
provided by premium devices. Here are some specific ways to help your app stand
out:
See the full guide for features to consider to take your media capture and
editing experience to the next level and impress your users.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-05-14 UTC.
[null,null,["Last updated 2024-05-14 UTC."],[],[],null,["# About media creation, capture, and sharing\n\nCapturing videos, editing photos, and processing media content are fundamental\nfeatures of social and messaging apps, and Android has created APIs that support\nthe latest device hardware features, along with libraries that simplify\nintegration into your app. This page connects you to resources to both help you\nget started and level up your app.\n\nKnow key media creation concepts\n--------------------------------\n\nAndroid has APIs and libraries that help your app best adapt to device\ncapabilities while handling the diversity of the Android ecosystem.\n\n### Capture media within your app\n\nYou can perform basic camera capture using the device's built-in camera\napplication [using an Intent](/media/camera/camera-intents). For social and communications apps, having\nbuilt-in support for high-quality media capture can provide a competitive\nadvantage. Learn how:\n\n- [CameraX](/media/camera/camerax) --- The recommended option for most developers, a library providing easy-to-use support for most common camera use cases with consistent, compatible behavior.\n- [Camera2](/media/camera/camera2) --- The low-level Android camera API that the CameraX library wraps. Use this class when you need low-level control.\n- [Camera extensions](/media/camera/camera-extensions) --- Lets your app access advanced camera capabilities such as night, bokeh, face retouch, and HDR.\n- [Camera viewfinder](/reference/androidx/camera/viewfinder/CameraViewfinder) --- Simplifies Camera2 integration by providing a base viewfinder widget to display the camera feed.\n- [Camera](/media/camera/camera-deprecated) --- The deprecated original class used to control the camera on Android.\n\n### Browse, share, and edit media\n\nMake sure that your users have easy access to edit and share the media they've\ncreated and captured in the best possible quality:\n\n- [Media3 Transformer APIs](/media/media3/transformer) --- This API lets users edit media with ease. Edit capabilities include converting between formats (transcoding), applying changes like trimming a clip from a longer video, cropping a portion of the video frame, applying custom effects, and other editing operations.\n- [Photo Picker](/training/data-storage/shared/photopicker) --- This component provides a safe, built-in way for users to grant your app access to only selected images and videos, instead of their entire media library.\n- [Android Sharesheet](/training/sharing/send#using-android-system-sharesheet) --- This component lets users send content from one app to another.\n- [Ultra HDR Image Format](/media/platform/hdr-image-format) --- The JPEG-based file format used to encode images with a logarithmic-range gain map that can render in high dynamic range on compatible displays.\n\nLevel up your app\n-----------------\n\nYou'll want your app to support features that meet and surpass user\nexpectations. One way to do that is to support the advanced media features\nprovided by premium devices. Here are some specific ways to help your app stand\nout:\n\n- Capture [UltraHDR images](https://github.com/android/platform-samples/blob/main/samples/camera/camera2/src/main/java/com/example/platform/camera/imagecapture/Camera2UltraHDRCapture.kt) and [HDR video](/media/camera/camera2/hdr-video-capture)\n- Utilize [camera extensions](/media/camera/camera-extensions) such as night mode or bokeh (for portrait shots)\n- Support [zero shutter lag](/media/camera/camerax/take-photo#zero-shutter-lag)\n- Edit video with [custom effects](/media/media3/transformer/transformations#custom-video)\n- Capture from [front and back cameras concurrently](/media/camera/camera2/multiple-camera-streams-simultaneously) (your user can narrate what they're recording in the viewfinder)\n\nSee the [full guide](/social-and-messaging/guides/media-creation/basic-better-best) for features to consider to take your media capture and\nediting experience to the next level and impress your users."]]