bytedeco/javacv
View on GitHubHow to set encoding parameters for video and audio on Android?
Open
#1,405 opened on Apr 23, 2020
help wantedquestion
Repository metrics
- Stars
- (6,985 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
Have 2 usb cameras, which has different resolution, and the one lower was able to push both video and audio to rtmp server but the higher one only worked with video while audio just behaved noisy. Following is my code:
private int imageWidth = 640;
private int imageHeight = 480;
private int frameRate = 28;
private int sampleAudioRateInHz = 44100;
private void initRecorder() {
recorder = new FFmpegFrameRecorder(ffmpegLink, imageWidth, imageHeight, 1);
recorder.setInterleaved(true);
recorder.setVideoOption("tune", "zerolatency");
recorder.setVideoOption("preset", "fast");
recorder.setVideoOption("crf", "25");
recorder.setVideoBitrate(1000000);
recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
recorder.setFormat("flv");
recorder.setFrameRate(frameRate);
recorder.setGopSize(frameRate * 2);
// recorder.setAudioOption("crf", "0");
// recorder.setAudioBitrate(192000);
recorder.setAudioBitrate(64000);
// recorder.setAudioQuality(0);
recorder.setSampleRate(sampleAudioRateInHz);
// recorder.setAudioChannels(2);
recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
}