android/media-samples

How to record videos in HEVC in Android

arianaa30 opened this issue · 0 comments

I trying to write a simple video app in Android that captures video and saves it locally. Looking at the recorded videos on my device, apparently it uses H264 AVC1 codec by default. I know my particular device supports HEVC (Samsung S10). How can I record videos using H265 (probably first check if it supports HEVC through some API, then do it)?

This is what I use right now to capture video with camera. It doesn't specify the codec to use.

       private void recordVideo() {
            Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    
            fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);
    
            // set video quality
            intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
    
            intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the video file name
    
            // start the video capture Intent
            startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE);
        }