java - Camera2 和 Mediarecorder 输出高质量预览但低质量 mp4

标签 java android mediarecorder android-camera2

已删除并重新要求清晰和更好的解释。

下面是我的应用程序的代码,并附有图像。视频帧速率很好,但是帧质量非常低,并且比特率似乎很低,但是编辑比特率不会改变视频源,这让我认为这是另一个问题。有人以前遇到过这个问题吗?

private int videoQuality = 100000;
private int videoFramerate = 30;

private void setupMediaRecorder() throws IOException {
    mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mediaRecorder.setOutputFile(videoFileName); //timestamp.mp4
    mediaRecorder.setVideoEncodingBitRate(videoQuality);
    mediaRecorder.setVideoFrameRate(videoFramerate);
    mediaRecorder.setVideoSize(videoSize.getWidth(), videoSize.getHeight());
    mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
    mediaRecorder.setOrientationHint(totalRotation);
    mediaRecorder.prepare();
}

预览截图 preview screenshot

录音截图 preview screenshot

录音- Action 截图 preview screenshot

最佳答案

原来 1000000 比特率太低,改为 10000000 看起来不错。

关于java - Camera2 和 Mediarecorder 输出高质量预览但低质量 mp4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48738072/

相关文章:

java - 如何提高通话录音音量或打开录音文件来调整声音

java - 在 O(1) 中返回数组中的随机数并创建单个排列的算法/函数

java - Amazon AWS 在哪里更好地存储图像和数据?

java - 如何使用命令行和参数读取文件名?

android - 与 butterknife 绑定(bind)后嵌套 View 组为空

android - camera2 视频录制性能差

java - 如何在选择模式下使用多个ID "Property"

java - 错误 :java. io.FileNotFoundException

android - ExoPlayer 错误 : cannot find symbol variable CRYPTO_MODE_AES_CBC

javascript - 如何以编程方式播放刚在HTML5中录制的webm音频?