J
Jacob Gur
RecordVideoOptions currently only exposes saveToGallery, includeMetadata, and isPersistent. There is no way to influence the resolution or quality of the recorded video from JavaScript.
Both native platforms have straightforward support for this:
Android – ACTION_VIDEO_CAPTURE accepts MediaStore.EXTRA_VIDEO_QUALITY (0 = low, 1 = high). For finer control, CameraX's QualitySelector supports Quality.SD / HD / FHD / UHD.
iOS – UIImagePickerController.videoQuality accepts .typeLow, .typeMedium, .typeIFrame1280x720, .typeHigh, etc.
Proposed API change:
export interface RecordVideoOptions {
// ...existing options...
/**
* Hint for the desired recording quality / resolution.
* - 'low' – smallest file size (e.g. ~480p SD)
* - 'medium' – balanced quality (e.g. 720p HD) ← suggested default
* - 'high' – device maximum (e.g. 1080p / 4K)
* @default 'high' // current implicit behavior
*/
quality?: 'low' | 'medium' | 'high'
}
Use case: Mobile apps that record videos as form attachments need to control file sizes. Without this option, the native camera records at its default (often 4K on modern devices), producing files that are too large to upload within reasonable size limits. A 'medium' quality producing roughly 720p output is sufficient for most review and compliance use cases while keeping uploads manageable.