# CamcorderProfile

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Constants](https://developer.android.com/reference/android/media/CamcorderProfile#constants)\|[Fields](https://developer.android.com/reference/android/media/CamcorderProfile#lfields)\|[Methods](https://developer.android.com/reference/android/media/CamcorderProfile#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/media/CamcorderProfile#inhmethods)  

# CamcorderProfile

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/media/CamcorderProfile "View this page in Kotlin")\|Java

`
public


class
CamcorderProfile
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|--------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.media.CamcorderProfile |

<br />

*** ** * ** ***

Retrieves the predefined camcorder profile settings for camcorder applications. These settings are read-only.

The compressed output from a recording session with a given CamcorderProfile contains two tracks: one for audio and one for video.

Each profile specifies the following set of parameters:

- The file output format
- Video codec format
- Video bit rate in bits per second
- Video frame rate in frames per second
- Video frame width and height,
- Audio codec format
- Audio bit rate in bits per second,
- Audio sample rate
- Number of audio channels for recording.

<br />

## Summary

|                                                                                                                ### Constants                                                                                                                ||
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [QUALITY_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_1080P) Quality level corresponding to the 1080p (1920 x 1080) resolution.                                                             |
| `int` | [QUALITY_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_2160P) Quality level corresponding to the 2160p (3840x2160) resolution.                                                               |
| `int` | [QUALITY_2K](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_2K) Quality level corresponding to 2K (2048 x 1080) resolution                                                                           |
| `int` | [QUALITY_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_480P) Quality level corresponding to the 480p (720 x 480) resolution.                                                                  |
| `int` | [QUALITY_4KDCI](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_4KDCI) Quality level corresponding to 4k-DCI (4096 x 2160) resolution.                                                                |
| `int` | [QUALITY_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_720P) Quality level corresponding to the 720p (1280 x 720) resolution.                                                                 |
| `int` | [QUALITY_8KUHD](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_8KUHD) Quality level corresponding to 8K UHD (7680 x 4320) resolution                                                                 |
| `int` | [QUALITY_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_CIF) Quality level corresponding to the cif (352 x 288) resolution.                                                                     |
| `int` | [QUALITY_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH) Quality level corresponding to the highest available resolution.                                                                 |
| `int` | [QUALITY_HIGH_SPEED_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_1080P) High speed ( \>= 100fps) quality level corresponding to the 1080p (1920 x 1080 or 1920x1088) resolution. |
| `int` | [QUALITY_HIGH_SPEED_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_2160P) High speed ( \>= 100fps) quality level corresponding to the 2160p (3840 x 2160) resolution.              |
| `int` | [QUALITY_HIGH_SPEED_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_480P) High speed ( \>= 100fps) quality level corresponding to the 480p (720 x 480) resolution.                   |
| `int` | [QUALITY_HIGH_SPEED_4KDCI](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_4KDCI) High speed ( \>= 100fps) quality level corresponding to the 4K-DCI (4096 x 2160)                         |
| `int` | [QUALITY_HIGH_SPEED_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_720P) High speed ( \>= 100fps) quality level corresponding to the 720p (1280 x 720) resolution.                  |
| `int` | [QUALITY_HIGH_SPEED_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_CIF) High speed ( \>= 100fps) quality level corresponding to the CIF (352 x 288)                                  |
| `int` | [QUALITY_HIGH_SPEED_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_HIGH) High speed ( \>= 100fps) quality level corresponding to the highest available resolution.                  |
| `int` | [QUALITY_HIGH_SPEED_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_LOW) High speed ( \>= 100fps) quality level corresponding to the lowest available resolution.                     |
| `int` | [QUALITY_HIGH_SPEED_VGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_VGA) High speed ( \>= 100fps) quality level corresponding to the VGA (640 x 480)                                  |
| `int` | [QUALITY_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_LOW) Quality level corresponding to the lowest available resolution.                                                                    |
| `int` | [QUALITY_QCIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_QCIF) Quality level corresponding to the qcif (176 x 144) resolution.                                                                  |
| `int` | [QUALITY_QHD](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_QHD) Quality level corresponding to QHD (2560 x 1440) resolution                                                                        |
| `int` | [QUALITY_QVGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_QVGA) Quality level corresponding to the QVGA (320x240) resolution.                                                                    |
| `int` | [QUALITY_TIME_LAPSE_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_1080P) Time lapse quality level corresponding to the 1080p (1920 x 1088) resolution.                            |
| `int` | [QUALITY_TIME_LAPSE_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_2160P) Time lapse quality level corresponding to the 2160p (3840 x 2160) resolution.                            |
| `int` | [QUALITY_TIME_LAPSE_2K](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_2K) Time lapse quality level corresponding to the 2K (2048 x 1080) resolution.                                     |
| `int` | [QUALITY_TIME_LAPSE_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_480P) Time lapse quality level corresponding to the 480p (720 x 480) resolution.                                 |
| `int` | [QUALITY_TIME_LAPSE_4KDCI](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_4KDCI) Time lapse quality level corresponding to the 4k-DCI (4096 x 2160) resolution.                           |
| `int` | [QUALITY_TIME_LAPSE_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_720P) Time lapse quality level corresponding to the 720p (1280 x 720) resolution.                                |
| `int` | [QUALITY_TIME_LAPSE_8KUHD](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_8KUHD) Time lapse quality level corresponding to the 8K UHD (7680 x 4320) resolution.                           |
| `int` | [QUALITY_TIME_LAPSE_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_CIF) Time lapse quality level corresponding to the cif (352 x 288) resolution.                                    |
| `int` | [QUALITY_TIME_LAPSE_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_HIGH) Time lapse quality level corresponding to the highest available resolution.                                |
| `int` | [QUALITY_TIME_LAPSE_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_LOW) Time lapse quality level corresponding to the lowest available resolution.                                   |
| `int` | [QUALITY_TIME_LAPSE_QCIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_QCIF) Time lapse quality level corresponding to the qcif (176 x 144) resolution.                                 |
| `int` | [QUALITY_TIME_LAPSE_QHD](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_QHD) Time lapse quality level corresponding to the QHD (2560 x 1440) resolution.                                  |
| `int` | [QUALITY_TIME_LAPSE_QVGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_QVGA) Time lapse quality level corresponding to the QVGA (320 x 240) resolution.                                 |
| `int` | [QUALITY_TIME_LAPSE_VGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_VGA) Time lapse quality level corresponding to the VGA (640 x 480) resolution.                                    |
| `int` | [QUALITY_VGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_VGA) Quality level corresponding to the VGA (640 x 480) resolution.                                                                     |

|                                                                                                                                                                                                                                                                          ### Fields                                                                                                                                                                                                                                                                          ||
|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` public int` | [audioBitRate](https://developer.android.com/reference/android/media/CamcorderProfile#audioBitRate) The target audio output bit rate in bits per second                                                                                                                                                                                                                                                                                                                                                                                       |
| ` public int` | [audioChannels](https://developer.android.com/reference/android/media/CamcorderProfile#audioChannels) The number of audio channels used for the audio track                                                                                                                                                                                                                                                                                                                                                                                   |
| ` public int` | [audioCodec](https://developer.android.com/reference/android/media/CamcorderProfile#audioCodec) The audio encoder being used for the audio track.                                                                                                                                                                                                                                                                                                                                                                                             |
| ` public int` | [audioSampleRate](https://developer.android.com/reference/android/media/CamcorderProfile#audioSampleRate) The audio sampling rate used for the audio track                                                                                                                                                                                                                                                                                                                                                                                    |
| ` public int` | [duration](https://developer.android.com/reference/android/media/CamcorderProfile#duration) Default recording duration in seconds before the session is terminated.                                                                                                                                                                                                                                                                                                                                                                           |
| ` public int` | [fileFormat](https://developer.android.com/reference/android/media/CamcorderProfile#fileFormat) The file output format of the camcorder profile                                                                                                                                                                                                                                                                                                                                                                                               |
| ` public int` | [quality](https://developer.android.com/reference/android/media/CamcorderProfile#quality) The quality level of the camcorder profile                                                                                                                                                                                                                                                                                                                                                                                                          |
| ` public int` | [videoBitRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoBitRate) The target video output bit rate in bits per second This is the target recorded video output bit rate if the application configures the video recording via[MediaRecorder.setProfile](https://developer.android.com/reference/android/media/MediaRecorder#setProfile(android.media.CamcorderProfile))without specifying any other[MediaRecorder](https://developer.android.com/reference/android/media/MediaRecorder)encoding parameters. |
| ` public int` | [videoCodec](https://developer.android.com/reference/android/media/CamcorderProfile#videoCodec) The video encoder being used for the video track                                                                                                                                                                                                                                                                                                                                                                                              |
| ` public int` | [videoFrameHeight](https://developer.android.com/reference/android/media/CamcorderProfile#videoFrameHeight) The target video frame height in pixels                                                                                                                                                                                                                                                                                                                                                                                           |
| ` public int` | [videoFrameRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoFrameRate) The target video frame rate in frames per second.                                                                                                                                                                                                                                                                                                                                                                                     |
| ` public int` | [videoFrameWidth](https://developer.android.com/reference/android/media/CamcorderProfile#videoFrameWidth) The target video frame width in pixels                                                                                                                                                                                                                                                                                                                                                                                              |

|                                                                                                                                                                                                      ### Public methods                                                                                                                                                                                                       ||
|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` static `[CamcorderProfile](https://developer.android.com/reference/android/media/CamcorderProfile) | ` `[get](https://developer.android.com/reference/android/media/CamcorderProfile#get(int))`(int quality) ` *This method was deprecated in API level 31. Use[getAll(String, int)](https://developer.android.com/reference/android/media/CamcorderProfile#getAll(java.lang.String,%20int))instead*                         |
| ` static `[CamcorderProfile](https://developer.android.com/reference/android/media/CamcorderProfile) | ` `[get](https://developer.android.com/reference/android/media/CamcorderProfile#get(int,%20int))`(int cameraId, int quality) ` *This method was deprecated in API level 31. Use[getAll(String, int)](https://developer.android.com/reference/android/media/CamcorderProfile#getAll(java.lang.String,%20int))instead*    |
| ` static `[EncoderProfiles](https://developer.android.com/reference/android/media/EncoderProfiles)   | ` `[getAll](https://developer.android.com/reference/android/media/CamcorderProfile#getAll(java.lang.String,%20int))`(`[String](https://developer.android.com/reference/java/lang/String)` cameraId, int quality) ` Returns all encoder profiles of a camcorder profile for the given camera at the given quality level. |
| ` static boolean`                                                                                    | ` `[hasProfile](https://developer.android.com/reference/android/media/CamcorderProfile#hasProfile(int,%20int))`(int cameraId, int quality) ` Returns true if a camcorder profile exists for the given camera at the given quality level.                                                                                |
| ` static boolean`                                                                                    | ` `[hasProfile](https://developer.android.com/reference/android/media/CamcorderProfile#hasProfile(int))`(int quality) ` Returns true if a camcorder profile exists for the first back-facing camera at the given quality level.                                                                                         |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Constants

### QUALITY_1080P

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_1080P
```

Quality level corresponding to the 1080p (1920 x 1080) resolution. Note that the vertical resolution for 1080p can also be 1088, instead of 1080 (used by some vendors to avoid cropping during video playback).

<br />

Constant Value: 6 (0x00000006)  

### QUALITY_2160P

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_2160P
```

Quality level corresponding to the 2160p (3840x2160) resolution.

<br />

Constant Value: 8 (0x00000008)  

### QUALITY_2K

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_2K
```

Quality level corresponding to 2K (2048 x 1080) resolution

<br />

Constant Value: 12 (0x0000000c)  

### QUALITY_480P

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_480P
```

Quality level corresponding to the 480p (720 x 480) resolution. Note that the horizontal resolution for 480p can also be other values, such as 640 or 704, instead of 720.

<br />

Constant Value: 4 (0x00000004)  

### QUALITY_4KDCI

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_4KDCI
```

Quality level corresponding to 4k-DCI (4096 x 2160) resolution.

<br />

Constant Value: 10 (0x0000000a)  

### QUALITY_720P

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_720P
```

Quality level corresponding to the 720p (1280 x 720) resolution.

<br />

Constant Value: 5 (0x00000005)  

### QUALITY_8KUHD

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_8KUHD
```

Quality level corresponding to 8K UHD (7680 x 4320) resolution

<br />

Constant Value: 13 (0x0000000d)  

### QUALITY_CIF

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_CIF
```

Quality level corresponding to the cif (352 x 288) resolution.

<br />

Constant Value: 3 (0x00000003)  

### QUALITY_HIGH

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH
```

Quality level corresponding to the highest available resolution.

<br />

Constant Value: 1 (0x00000001)  

### QUALITY_HIGH_SPEED_1080P

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_1080P
```

High speed ( \>= 100fps) quality level corresponding to the 1080p (1920 x 1080 or 1920x1088) resolution.

<br />

Constant Value: 2004 (0x000007d4)  

### QUALITY_HIGH_SPEED_2160P

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_2160P
```

High speed ( \>= 100fps) quality level corresponding to the 2160p (3840 x 2160) resolution.

<br />

Constant Value: 2005 (0x000007d5)  

### QUALITY_HIGH_SPEED_480P

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_480P
```

High speed ( \>= 100fps) quality level corresponding to the 480p (720 x 480) resolution. Note that the horizontal resolution for 480p can also be other values, such as 640 or 704, instead of 720.

<br />

Constant Value: 2002 (0x000007d2)  

### QUALITY_HIGH_SPEED_4KDCI

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_4KDCI
```

High speed ( \>= 100fps) quality level corresponding to the 4K-DCI (4096 x 2160)

<br />

Constant Value: 2008 (0x000007d8)  

### QUALITY_HIGH_SPEED_720P

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_720P
```

High speed ( \>= 100fps) quality level corresponding to the 720p (1280 x 720) resolution.

<br />

Constant Value: 2003 (0x000007d3)  

### QUALITY_HIGH_SPEED_CIF

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_CIF
```

High speed ( \>= 100fps) quality level corresponding to the CIF (352 x 288)

<br />

Constant Value: 2006 (0x000007d6)  

### QUALITY_HIGH_SPEED_HIGH

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_HIGH
```

High speed ( \>= 100fps) quality level corresponding to the highest available resolution.

<br />

Constant Value: 2001 (0x000007d1)  

### QUALITY_HIGH_SPEED_LOW

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_LOW
```

High speed ( \>= 100fps) quality level corresponding to the lowest available resolution.

For all the high speed profiles defined below ((from[QUALITY_HIGH_SPEED_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_LOW)to[QUALITY_HIGH_SPEED_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_2160P)), they are similar as normal recording profiles, with just higher output frame rate and bit rate. Therefore, setting these profiles with[MediaRecorder.setProfile](https://developer.android.com/reference/android/media/MediaRecorder#setProfile(android.media.CamcorderProfile))without specifying any other encoding parameters will produce high speed videos rather than slow motion videos that have different capture and output (playback) frame rates. To record slow motion videos, the application must set video output (playback) frame rate and bit rate appropriately via[MediaRecorder.setVideoFrameRate](https://developer.android.com/reference/android/media/MediaRecorder#setVideoFrameRate(int))and[MediaRecorder.setVideoEncodingBitRate](https://developer.android.com/reference/android/media/MediaRecorder#setVideoEncodingBitRate(int))based on the slow motion factor. If the application intends to do the video recording with[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec)encoder, it must set each individual field of[MediaFormat](https://developer.android.com/reference/android/media/MediaFormat)similarly according to this CamcorderProfile.

<br />

<br />

**See also:**

- [videoBitRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoBitRate)
- [videoFrameRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoFrameRate)
- [MediaRecorder](https://developer.android.com/reference/android/media/MediaRecorder)
- [MediaCodec](https://developer.android.com/reference/android/media/MediaCodec)
- [MediaFormat](https://developer.android.com/reference/android/media/MediaFormat)

Constant Value: 2000 (0x000007d0)  

### QUALITY_HIGH_SPEED_VGA

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_HIGH_SPEED_VGA
```

High speed ( \>= 100fps) quality level corresponding to the VGA (640 x 480)

<br />

Constant Value: 2007 (0x000007d7)  

### QUALITY_LOW

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_LOW
```

Quality level corresponding to the lowest available resolution.

<br />

Constant Value: 0 (0x00000000)  

### QUALITY_QCIF

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_QCIF
```

Quality level corresponding to the qcif (176 x 144) resolution.

<br />

Constant Value: 2 (0x00000002)  

### QUALITY_QHD

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_QHD
```

Quality level corresponding to QHD (2560 x 1440) resolution

<br />

Constant Value: 11 (0x0000000b)  

### QUALITY_QVGA

Added in[API level 15](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_QVGA
```

Quality level corresponding to the QVGA (320x240) resolution.

<br />

Constant Value: 7 (0x00000007)  

### QUALITY_TIME_LAPSE_1080P

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_1080P
```

Time lapse quality level corresponding to the 1080p (1920 x 1088) resolution.

<br />

Constant Value: 1006 (0x000003ee)  

### QUALITY_TIME_LAPSE_2160P

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_2160P
```

Time lapse quality level corresponding to the 2160p (3840 x 2160) resolution.

<br />

Constant Value: 1008 (0x000003f0)  

### QUALITY_TIME_LAPSE_2K

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_2K
```

Time lapse quality level corresponding to the 2K (2048 x 1080) resolution.

<br />

Constant Value: 1012 (0x000003f4)  

### QUALITY_TIME_LAPSE_480P

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_480P
```

Time lapse quality level corresponding to the 480p (720 x 480) resolution.

<br />

Constant Value: 1004 (0x000003ec)  

### QUALITY_TIME_LAPSE_4KDCI

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_4KDCI
```

Time lapse quality level corresponding to the 4k-DCI (4096 x 2160) resolution.

<br />

Constant Value: 1010 (0x000003f2)  

### QUALITY_TIME_LAPSE_720P

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_720P
```

Time lapse quality level corresponding to the 720p (1280 x 720) resolution.

<br />

Constant Value: 1005 (0x000003ed)  

### QUALITY_TIME_LAPSE_8KUHD

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_8KUHD
```

Time lapse quality level corresponding to the 8K UHD (7680 x 4320) resolution.

<br />

Constant Value: 1013 (0x000003f5)  

### QUALITY_TIME_LAPSE_CIF

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_CIF
```

Time lapse quality level corresponding to the cif (352 x 288) resolution.

<br />

Constant Value: 1003 (0x000003eb)  

### QUALITY_TIME_LAPSE_HIGH

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_HIGH
```

Time lapse quality level corresponding to the highest available resolution.

<br />

Constant Value: 1001 (0x000003e9)  

### QUALITY_TIME_LAPSE_LOW

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_LOW
```

Time lapse quality level corresponding to the lowest available resolution.

<br />

Constant Value: 1000 (0x000003e8)  

### QUALITY_TIME_LAPSE_QCIF

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_QCIF
```

Time lapse quality level corresponding to the qcif (176 x 144) resolution.

<br />

Constant Value: 1002 (0x000003ea)  

### QUALITY_TIME_LAPSE_QHD

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_QHD
```

Time lapse quality level corresponding to the QHD (2560 x 1440) resolution.

<br />

Constant Value: 1011 (0x000003f3)  

### QUALITY_TIME_LAPSE_QVGA

Added in[API level 15](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_QVGA
```

Time lapse quality level corresponding to the QVGA (320 x 240) resolution.

<br />

Constant Value: 1007 (0x000003ef)  

### QUALITY_TIME_LAPSE_VGA

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_TIME_LAPSE_VGA
```

Time lapse quality level corresponding to the VGA (640 x 480) resolution.

<br />

Constant Value: 1009 (0x000003f1)  

### QUALITY_VGA

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int QUALITY_VGA
```

Quality level corresponding to the VGA (640 x 480) resolution.

<br />

Constant Value: 9 (0x00000009)

## Fields

### audioBitRate

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int audioBitRate
```

The target audio output bit rate in bits per second

<br />

### audioChannels

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int audioChannels
```

The number of audio channels used for the audio track

<br />

### audioCodec

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int audioCodec
```

The audio encoder being used for the audio track.

<br />

**See also:**

- [MediaRecorder.AudioEncoder](https://developer.android.com/reference/android/media/MediaRecorder.AudioEncoder)  

### audioSampleRate

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int audioSampleRate
```

The audio sampling rate used for the audio track

<br />

### duration

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int duration
```

Default recording duration in seconds before the session is terminated. This is useful for applications like MMS has limited file size requirement.

<br />

### fileFormat

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int fileFormat
```

The file output format of the camcorder profile

<br />

**See also:**

- [MediaRecorder.OutputFormat](https://developer.android.com/reference/android/media/MediaRecorder.OutputFormat)  

### quality

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int quality
```

The quality level of the camcorder profile

<br />

### videoBitRate

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int videoBitRate
```

The target video output bit rate in bits per second

This is the target recorded video output bit rate if the application configures the video recording via[MediaRecorder.setProfile](https://developer.android.com/reference/android/media/MediaRecorder#setProfile(android.media.CamcorderProfile))without specifying any other[MediaRecorder](https://developer.android.com/reference/android/media/MediaRecorder)encoding parameters. For example, for high speed quality profiles (from[QUALITY_HIGH_SPEED_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_LOW)to[QUALITY_HIGH_SPEED_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_2160P)), this is the bit rate where the video is recorded with. If the application intends to record slow motion videos with the high speed quality profiles, it must set a different video bit rate that is corresponding to the desired recording output bit rate (i.e., the encoded video bit rate during normal playback) via[MediaRecorder.setVideoEncodingBitRate](https://developer.android.com/reference/android/media/MediaRecorder#setVideoEncodingBitRate(int)). For example, if[QUALITY_HIGH_SPEED_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_720P)advertises 240fps[videoFrameRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoFrameRate)and 64Mbps[videoBitRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoBitRate)in the high speed CamcorderProfile, and the application intends to record 1/8 factor slow motion recording videos, the application must set 30fps via[MediaRecorder.setVideoFrameRate](https://developer.android.com/reference/android/media/MediaRecorder#setVideoFrameRate(int))and 8Mbps ([videoBitRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoBitRate)\* slow motion factor) via[MediaRecorder.setVideoEncodingBitRate](https://developer.android.com/reference/android/media/MediaRecorder#setVideoEncodingBitRate(int)). Failing to do so will result in videos with unexpected frame rate and bit rate, or[MediaRecorder](https://developer.android.com/reference/android/media/MediaRecorder)error if the output bit rate exceeds the encoder limit. If the application intends to do the video recording with[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec)encoder, it must set each individual field of[MediaFormat](https://developer.android.com/reference/android/media/MediaFormat)similarly according to this CamcorderProfile.

<br />

<br />

**See also:**

- [videoFrameRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoFrameRate)
- [MediaRecorder](https://developer.android.com/reference/android/media/MediaRecorder)
- [MediaCodec](https://developer.android.com/reference/android/media/MediaCodec)
- [MediaFormat](https://developer.android.com/reference/android/media/MediaFormat)  

### videoCodec

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int videoCodec
```

The video encoder being used for the video track

<br />

**See also:**

- [MediaRecorder.VideoEncoder](https://developer.android.com/reference/android/media/MediaRecorder.VideoEncoder)  

### videoFrameHeight

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int videoFrameHeight
```

The target video frame height in pixels

<br />

### videoFrameRate

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int videoFrameRate
```

The target video frame rate in frames per second.

This is the target recorded video output frame rate per second if the application configures the video recording via[MediaRecorder.setProfile](https://developer.android.com/reference/android/media/MediaRecorder#setProfile(android.media.CamcorderProfile))without specifying any other[MediaRecorder](https://developer.android.com/reference/android/media/MediaRecorder)encoding parameters. For example, for high speed quality profiles (from[QUALITY_HIGH_SPEED_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_LOW)to[QUALITY_HIGH_SPEED_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_2160P)), this is the frame rate where the video is recorded and played back with. If the application intends to create slow motion use case with the high speed quality profiles, it must set a different video frame rate that is corresponding to the desired output (playback) frame rate via[MediaRecorder.setVideoFrameRate](https://developer.android.com/reference/android/media/MediaRecorder#setVideoFrameRate(int)). For example, if[QUALITY_HIGH_SPEED_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_720P)advertises 240fps[videoFrameRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoFrameRate)in the CamcorderProfile, and the application intends to create 1/8 factor slow motion recording videos, the application must set 30fps via[MediaRecorder.setVideoFrameRate](https://developer.android.com/reference/android/media/MediaRecorder#setVideoFrameRate(int)). Failing to do so will result in high speed videos with normal speed playback frame rate (240fps for above example). If the application intends to do the video recording with[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec)encoder, it must set each individual field of[MediaFormat](https://developer.android.com/reference/android/media/MediaFormat)similarly according to this CamcorderProfile.

<br />

<br />

**See also:**

- [videoBitRate](https://developer.android.com/reference/android/media/CamcorderProfile#videoBitRate)
- [MediaRecorder](https://developer.android.com/reference/android/media/MediaRecorder)
- [MediaCodec](https://developer.android.com/reference/android/media/MediaCodec)
- [MediaFormat](https://developer.android.com/reference/android/media/MediaFormat)  

### videoFrameWidth

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int videoFrameWidth
```

The target video frame width in pixels

<br />

## Public methods

### get

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Deprecated in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static CamcorderProfile get (int quality)
```

<br />

**This method was deprecated in API level 31.**   
Use[getAll(String, int)](https://developer.android.com/reference/android/media/CamcorderProfile#getAll(java.lang.String,%20int))instead

Returns the default camcorder profile at the given quality level for the first back-facing camera on the device. If the device has no back-facing camera, this returns null.

<br />

|                                 Parameters                                  ||
|-----------|------------------------------------------------------------------|
| `quality` | `int`: the target quality level for the camcorder profile <br /> |

|                                              Returns                                               ||
|--------------------------------------------------------------------------------------------|--------|
| [CamcorderProfile](https://developer.android.com/reference/android/media/CamcorderProfile) | <br /> |

**See also:**

- [get(int, int)](https://developer.android.com/reference/android/media/CamcorderProfile#get(int,%20int))  

### get

Added in[API level 9](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Deprecated in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static CamcorderProfile get (int cameraId, 
                int quality)
```

<br />

**This method was deprecated in API level 31.**   
Use[getAll(String, int)](https://developer.android.com/reference/android/media/CamcorderProfile#getAll(java.lang.String,%20int))instead

Returns the default camcorder profile for the given camera at the given quality level. Quality levels QUALITY_LOW, QUALITY_HIGH are guaranteed to be supported, while other levels may or may not be supported. The supported levels can be checked using[hasProfile(int, int)](https://developer.android.com/reference/android/media/CamcorderProfile#hasProfile(int,%20int)). QUALITY_LOW refers to the lowest quality available, while QUALITY_HIGH refers to the highest quality available. QUALITY_LOW/QUALITY_HIGH have to match one of qcif, cif, 480p, 720p, 1080p or 2160p. E.g. if the device supports 480p, 720p, 1080p and 2160p, then low is 480p and high is 2160p. The same is true for time lapse quality levels, i.e. QUALITY_TIME_LAPSE_LOW, QUALITY_TIME_LAPSE_HIGH are guaranteed to be supported and have to match one of qcif, cif, 480p, 720p, 1080p, or 2160p. For high speed quality levels, they may or may not be supported. If a subset of the levels are supported, QUALITY_HIGH_SPEED_LOW and QUALITY_HIGH_SPEED_HIGH are guaranteed to be supported and have to match one of 480p, 720p, or 1080p. A camcorder recording session with higher quality level usually has higher output bit rate, better video and/or audio recording quality, larger video frame resolution and higher audio sampling rate, etc, than those with lower quality level.

<br />

|                                                                                                                                                                                                                                                                                                           Parameters                                                                                                                                                                                                                                                                                                           ||
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `cameraId` | `int`: the id for the camera. Integer camera ids parsed from the list received by invoking[CameraManager.getCameraIdList](https://developer.android.com/reference/android/hardware/camera2/CameraManager#getCameraIdList())can be used as long as they are[CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE)and not[EXTERNAL](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL). <br /> |
| `quality`  | `int`: the target quality level for the camcorder profile. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

|                                              Returns                                               ||
|--------------------------------------------------------------------------------------------|--------|
| [CamcorderProfile](https://developer.android.com/reference/android/media/CamcorderProfile) | <br /> |

|                                                                            Throws                                                                             ||
|--------------------------------------------------------------------------------------------------------|-------------------------------------------------------|
| [IllegalArgumentException](https://developer.android.com/reference/java/lang/IllegalArgumentException) | if quality is not one of the defined QUALITY_ values. |

**See also:**

- [QUALITY_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_LOW)
- [QUALITY_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH)
- [QUALITY_QCIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_QCIF)
- [QUALITY_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_CIF)
- [QUALITY_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_480P)
- [QUALITY_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_720P)
- [QUALITY_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_1080P)
- [QUALITY_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_2160P)
- [QUALITY_TIME_LAPSE_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_LOW)
- [QUALITY_TIME_LAPSE_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_HIGH)
- [QUALITY_TIME_LAPSE_QCIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_QCIF)
- [QUALITY_TIME_LAPSE_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_CIF)
- [QUALITY_TIME_LAPSE_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_480P)
- [QUALITY_TIME_LAPSE_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_720P)
- [QUALITY_TIME_LAPSE_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_1080P)
- [QUALITY_TIME_LAPSE_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_2160P)
- [QUALITY_HIGH_SPEED_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_LOW)
- [QUALITY_HIGH_SPEED_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_HIGH)
- [QUALITY_HIGH_SPEED_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_480P)
- [QUALITY_HIGH_SPEED_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_720P)
- [QUALITY_HIGH_SPEED_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_1080P)
- [QUALITY_HIGH_SPEED_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_2160P)  

### getAll

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static EncoderProfiles getAll (String cameraId, 
                int quality)
```

Returns all encoder profiles of a camcorder profile for the given camera at the given quality level.

Quality levels QUALITY_LOW, QUALITY_HIGH are guaranteed to be supported, while other levels may or may not be supported. The supported levels can be checked using[hasProfile(int, int)](https://developer.android.com/reference/android/media/CamcorderProfile#hasProfile(int,%20int)). QUALITY_LOW refers to the lowest quality available, while QUALITY_HIGH refers to the highest quality available. QUALITY_LOW/QUALITY_HIGH have to match one of qcif, cif, 480p, 720p, 1080p or 2160p. E.g. if the device supports 480p, 720p, 1080p and 2160p, then low is 480p and high is 2160p.

The same is true for time lapse quality levels, i.e. QUALITY_TIME_LAPSE_LOW, QUALITY_TIME_LAPSE_HIGH are guaranteed to be supported and have to match one of qcif, cif, 480p, 720p, 1080p, or 2160p.

For high speed quality levels, they may or may not be supported. If a subset of the levels are supported, QUALITY_HIGH_SPEED_LOW and QUALITY_HIGH_SPEED_HIGH are guaranteed to be supported and have to match one of 480p, 720p, or 1080p.

A camcorder recording session with higher quality level usually has higher output bit rate, better video and/or audio recording quality, larger video frame resolution and higher audio sampling rate, etc, than those with lower quality level.

**Note:** as of[Android TIRAMISU](https://developer.android.com/reference/android/os/Build.VERSION_CODES#TIRAMISU), this method can return advanced encoder profiles.

Apps targeting[Build.VERSION_CODES.S_V2](https://developer.android.com/reference/android/os/Build.VERSION_CODES#S_V2)or before will only receive basic video encoder profiles that use output YUV 4:2:0 8-bit content. Apps targeting[Build.VERSION_CODES.TIRAMISU](https://developer.android.com/reference/android/os/Build.VERSION_CODES#TIRAMISU)or above will also receive advanced video encoder profiles that may output 10-bit, YUV 4:2:2/4:4:4 or HDR content.

<br />

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ||
|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `cameraId` | `String`: the id for the camera. Numeric camera ids from the list received by invoking[CameraManager.getCameraIdList](https://developer.android.com/reference/android/hardware/camera2/CameraManager#getCameraIdList())can be used as long as they are[CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE)and not[EXTERNAL](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL). This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `quality`  | `int`: the target quality level for the camcorder profile. Value is[QUALITY_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_LOW),[QUALITY_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH),[QUALITY_QCIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_QCIF),[QUALITY_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_CIF),[QUALITY_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_480P),[QUALITY_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_720P),[QUALITY_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_1080P),[QUALITY_QVGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_QVGA),[QUALITY_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_2160P),[QUALITY_VGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_VGA),[QUALITY_4KDCI](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_4KDCI),[QUALITY_QHD](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_QHD),[QUALITY_2K](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_2K),[QUALITY_8KUHD](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_8KUHD),[QUALITY_TIME_LAPSE_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_LOW),[QUALITY_TIME_LAPSE_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_HIGH),[QUALITY_TIME_LAPSE_QCIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_QCIF),[QUALITY_TIME_LAPSE_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_CIF),[QUALITY_TIME_LAPSE_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_480P),[QUALITY_TIME_LAPSE_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_720P),[QUALITY_TIME_LAPSE_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_1080P),[QUALITY_TIME_LAPSE_QVGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_QVGA),[QUALITY_TIME_LAPSE_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_2160P),[QUALITY_TIME_LAPSE_VGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_VGA),[QUALITY_TIME_LAPSE_4KDCI](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_4KDCI),[QUALITY_TIME_LAPSE_QHD](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_QHD),[QUALITY_TIME_LAPSE_2K](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_2K),[QUALITY_TIME_LAPSE_8KUHD](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_8KUHD),[QUALITY_HIGH_SPEED_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_LOW),[QUALITY_HIGH_SPEED_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_HIGH),[QUALITY_HIGH_SPEED_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_480P),[QUALITY_HIGH_SPEED_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_720P),[QUALITY_HIGH_SPEED_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_1080P),[QUALITY_HIGH_SPEED_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_2160P),[QUALITY_HIGH_SPEED_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_CIF),[QUALITY_HIGH_SPEED_VGA](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_VGA), or[QUALITY_HIGH_SPEED_4KDCI](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_4KDCI) <br /> |

|                                                                                          Returns                                                                                           ||
|------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| [EncoderProfiles](https://developer.android.com/reference/android/media/EncoderProfiles) | null if there are no encoder profiles defined for the quality level for the given camera. <br /> |

|                                                                            Throws                                                                             ||
|--------------------------------------------------------------------------------------------------------|-------------------------------------------------------|
| [IllegalArgumentException](https://developer.android.com/reference/java/lang/IllegalArgumentException) | if quality is not one of the defined QUALITY_ values. |

**See also:**

- [QUALITY_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_LOW)
- [QUALITY_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH)
- [QUALITY_QCIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_QCIF)
- [QUALITY_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_CIF)
- [QUALITY_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_480P)
- [QUALITY_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_720P)
- [QUALITY_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_1080P)
- [QUALITY_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_2160P)
- [QUALITY_TIME_LAPSE_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_LOW)
- [QUALITY_TIME_LAPSE_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_HIGH)
- [QUALITY_TIME_LAPSE_QCIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_QCIF)
- [QUALITY_TIME_LAPSE_CIF](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_CIF)
- [QUALITY_TIME_LAPSE_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_480P)
- [QUALITY_TIME_LAPSE_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_720P)
- [QUALITY_TIME_LAPSE_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_1080P)
- [QUALITY_TIME_LAPSE_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_TIME_LAPSE_2160P)
- [QUALITY_HIGH_SPEED_LOW](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_LOW)
- [QUALITY_HIGH_SPEED_HIGH](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_HIGH)
- [QUALITY_HIGH_SPEED_480P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_480P)
- [QUALITY_HIGH_SPEED_720P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_720P)
- [QUALITY_HIGH_SPEED_1080P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_1080P)
- [QUALITY_HIGH_SPEED_2160P](https://developer.android.com/reference/android/media/CamcorderProfile#QUALITY_HIGH_SPEED_2160P)  

### hasProfile

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static boolean hasProfile (int cameraId, 
                int quality)
```

Returns true if a camcorder profile exists for the given camera at the given quality level.

When using the Camera 2 API in LEGACY mode (i.e. when[CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL](https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL)is set to[CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY)),[hasProfile(int)](https://developer.android.com/reference/android/media/CamcorderProfile#hasProfile(int))may return`true`for unsupported resolutions. To ensure a a given resolution is supported in LEGACY mode, the configuration given in[CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP](https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP)must contain the the resolution in the supported output sizes. The recommended way to check this is with[StreamConfigurationMap.getOutputSizes(Class)](https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap#getOutputSizes(java.lang.Class<T>))with the class of the desired recording endpoint, and check that the desired resolution is contained in the list returned.

<br />

<br />

|                                                                                                                                                                                                                                                                                                           Parameters                                                                                                                                                                                                                                                                                                           ||
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `cameraId` | `int`: the id for the camera. Integer camera ids parsed from the list received by invoking[CameraManager.getCameraIdList](https://developer.android.com/reference/android/hardware/camera2/CameraManager#getCameraIdList())can be used as long as they are[CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE)and not[EXTERNAL](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL). <br /> |
| `quality`  | `int`: the target quality level for the camcorder profile <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

**See also:**

- [CameraManager](https://developer.android.com/reference/android/hardware/camera2/CameraManager)
- [CameraCharacteristics](https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics)  

### hasProfile

Added in[API level 11](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static boolean hasProfile (int quality)
```

Returns true if a camcorder profile exists for the first back-facing camera at the given quality level.

When using the Camera 2 API in`LEGACY`mode (i.e. when[CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL](https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL)is set to[CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY)),[hasProfile(int)](https://developer.android.com/reference/android/media/CamcorderProfile#hasProfile(int))may return`true`for unsupported resolutions. To ensure a a given resolution is supported in LEGACY mode, the configuration given in[CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP](https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP)must contain the the resolution in the supported output sizes. The recommended way to check this is with[StreamConfigurationMap.getOutputSizes(Class)](https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap#getOutputSizes(java.lang.Class<T>))with the class of the desired recording endpoint, and check that the desired resolution is contained in the list returned.

<br />

<br />

|                                 Parameters                                  ||
|-----------|------------------------------------------------------------------|
| `quality` | `int`: the target quality level for the camcorder profile <br /> |

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

**See also:**

- [CameraManager](https://developer.android.com/reference/android/hardware/camera2/CameraManager)
- [CameraCharacteristics](https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics)