我正在使用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);

我有視頻但有兩個問題:它的顏色是錯誤的。

它的速度太快。

下面是一個視頻示例

你們誰知道這兩個問題的原因是什麼? 可以告訴我一些解決這個問題的方法,因為我現在完全失去了/困惑。 感謝閱讀,並欣賞任何意見和意見。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐