# Specifying a Video Format

You can customize a `VideoCapturer` by setting a `VideoFormat` when creating a `LocalVideoTrack`. You can set the video dimensions and frame rate of your choice and the capturer is responsible for capturing as close as possible to your specified format.

The `VideoFormat` provided to `LocalVideoTrack.create(...)` takes highest priority over the format returned by `VideoCapturer.getCaptureFormat()`. The default format for video tracks is 640x480 at 30 Frames Per Second (FPS). Note that your `VideoFormat` is used to select a capture format, but the actual video sent to Participants may be cropped or downscaled in response to network and device conditions.

You can use `CameraCapturer` or `Camera2Capturer` to select a specific video input for your `LocalVideoTrack`. For more information, see [Configuring Audio, Video Input and Output devices](/docs/video/android-configuring-audio-video-inputs-and-outputs#selecting-a-specific-video-input).

````java
```bash
// Create camera capturer
CameraCapturer cameraCapturer = new CameraCapturer(context, CameraCapturer.CameraSource.FRONT_CAMERA);

// Setup video format
VideoFormat videoFormat = new VideoFormat(VideoDimensions.HD_720P_VIDEO_DIMENSIONS, 30);

// Add a video track with the format
LocalVideoTrack localVideoTrack = LocalVideoTrack.create(context, true, cameraCapturer, videoFormat);

// If the format isn't satisfied a null track will be returned
if (localVideoTrack == null) {
    Log.e(TAG, "Unable to satisfy the format");
}
````
