bytedeco/javacv

Screen tear when recording at 1080p on Android

Open

#1,561 opened on Jan 12, 2021

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Java (1,583 forks)batch import
help wantedquestion

Repository metrics

Stars
 (6,985 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Hello. I'm recording video with some graphics superimposed that's being applied on top, which is why I'm using Javacv library. I can record video at 720p at 30 fps without any issues. However when I switch to 1080p there is screen tear. here's my code I use to init recorder.

int frameRate = 30; converter = new AndroidFrameConverter(); ffmpeg_link = Environment.getExternalStorageDirectory().getAbsolutePath()+String.format("/dashcam_%03d.flv", vidIndex); recorder = new FFmpegFrameRecorder(ffmpeg_link, imageWidth, imageHeight); recorder.setFormat("mp4"); recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC); recorder.setPixelFormat(avutil.AV_PIX_FMT_YUV420P); recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264); recorder.setVideoOption("preset", "ultrafast"); recorder.setFrameRate(frameRate); recorder.setVideoBitrate(10 * 1024 * 1024); recorder.setSampleRate(sampleAudioRateInHz); recorder.setAudioChannels(1); recorder.setAudioBitrate(96000); // default 192000 audioRecordRunnable = new AudioRecordRunnable();

Thanks in advance for your help.

Contributor guide