This sample captures video record via the Camera2 API including displaying a camera preview and capturing a high-speed (slow motion) video using repeating capture requests.
The Camera2 API allows users to capture video from the camera by sending repeating capture requests from the camera framework to a media recorder.
This sample displays a live camera preview, allows the user to press and hold the screen to record a video, and also encodes the recording in an MP4 video file. The user has the following choices:
- The dimensions and frame rate of the video
- Which camera to use
- Whether to capture in HDR format or SDR format
- Whether to capture using two streams directly to a SurfaceView, or one stream to an EGL pipeline
- Whether to apply a portrait filter in TextureView mode
- Whether to apply preview stabilization
- In single-stream mode with HDR, whether to use linear or PQ preview
The choice to use HDR will be presented if the capability is detected on the host device.
- Android SDK 33+
- Android Studio 3.6+
- Device with video capture capability (or emulator)
This sample uses the Gradle build system. To build this project, use the "gradlew build" command or use "Import Project" in Android Studio.
- Stack Overflow: http://stackoverflow.com/questions/tagged/android
If you've found an error in this sample, please file an issue: https://github.com/android/camera-samples
Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.