我正在使用MediaCodec的setPreviewCallback对视频进行编码。 ( 我遵循这个例子编码 H.264 来自 Android MediaCodec ) 。 对于 MediaCodec,我使用以下设置:mediaCodec = MediaCodec.createEncoderByType("video/avc");
MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", 1280, 720);
mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 8000000);
mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, 30);
mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar);
mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 5);
mediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
mediaCodec.start();
我的相机设置为:Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewFormat(ImageFormat.NV21);
parameters.setPictureSize(previewWidth, 1280);
parameters.setPreviewSize(previewWidth, 720);
parameters.setPreviewFrameRate(30);
parameters.setPreviewFpsRange(5000,30000);
mCamera.setParameters(parameters);
我有视频但有两个问题:它的颜色是错误的。
它的速度太快。
下面是一个视频示例
你们谁知道这两个问题的原因是什么? 可以告诉我一些解决这个问题的方法,因为我现在完全失去了/困惑。 感谢阅读,并欣赏任何意见和意见。